Я использую const
только для создания мнемонических имен для неизменяемых констант в классе. Функция define()
не создает константы как часть класса, она создает константы в глобальном пространстве.
class MyClass
{
const CONFIG_FILE = 'myapp.ini';
Данные о конфигурации класса, которые я обычно объявляю как хеш-массив protected
в классе. Ключи полезны для мнемоники. Значения по умолчанию.
protected $config = array(
'logfile' => 'err.out',
'debug' => false
);
Затем я загружаю файл формата "ini" с parse_ini_file()
и использую array_merge()
для сопоставления ключей в массив конфигурации вашего класса:
public function __construct() {
$ini_data = parse_ini_file(self::CONFIG_FILE, __CLASS__);
$this->config = array_merge($this->config, $ini_data);
}
}