/** * Setter function for string type. */ protected function setString($property, $value, $nullable = false) { if ($value === null) { if ($nullable) { $this->{$property} = null; } else { $this->warn("Null value given for '{$property}' property. Expected a string. Property not changed."); } } else { try { $value = LoggerOptionConverter::toStringEx($value); $this->{$property} = LoggerOptionConverter::substConstants($value); } catch (Exception $ex) { $value = var_export($value, true); $this->warn("Invalid value given for '{$property}' property: [{$value}]. Expected a string. Property not changed."); } } }
public function testSubstituteConstants() { define('OTHER_CONSTANT', 'OTHER'); define('MY_CONSTANT', 'TEST'); define('NEXT_CONSTANT', 'NEXT'); $result = LoggerOptionConverter::substConstants('Value of key is ${MY_CONSTANT}.'); self::assertEquals('Value of key is TEST.', $result); $result = LoggerOptionConverter::substConstants('Value of key is ${MY_CONSTANT} or ${OTHER_CONSTANT}.'); self::assertEquals('Value of key is TEST or OTHER.', $result); $result = LoggerOptionConverter::substConstants('Value of key is ${MY_CONSTANT_CONSTANT}.'); self::assertEquals('Value of key is DEFINE.', $result); $result = LoggerOptionConverter::substConstants('Value of key is ${MY_CONSTANT_CONSTANT} or ${MY_CONSTANT_CONSTANT_OTHER}.'); self::assertEquals('Value of key is DEFINE or DEFINE_OTHER.', $result); }