Как в PHP вы определяете глобальную константу (используя метод define
) внутри класса?Я хотел бы, чтобы моя константа была определена глобально после создания экземпляра класса.
Выглядит так:
class SomethingToInstantiate
{
public function __construct()
{
define('SOMETHING', 'MORE');
}
}
SomethingToInstantiate
всегда создается для каждого запроса,поэтому я мог бы использовать константу SOMETHING
в любом месте.
Но, похоже, она не работает, поскольку PHP не может найти константу SOMETHING
.
Я пытаюсь сделать это с моимПриложение Symfony 2.7.
Внутри метода конструкции Kernel
, поскольку ядро всегда создается для каждого запроса (и даже в консольных командах).Я делаю это так, чтобы я мог получить доступ к определенной константе в любом месте моего кода.
Но почему в ядре?Ранее я определил это в app.php, но это рискованно, потому что есть три файла, которые мне нужно отредактировать (которые я могу когда-нибудь забыть)
- app.php
- app_dev.php
- console
Поэтому вместо редактирования этих трех файлов я решил определить константу внутри конструктора ядра.
Теперь снова, если вы 'интересно, я пытаюсь определить root dir как константу, чтобы я мог получить к ней доступ в любом месте приложения.
Почему снова?Поскольку я хочу иметь возможность анализировать мои пользовательские файлы конфигурации из любого места в коде, мне нужен корневой каталог, чтобы получить файл из / app / config, а затем проанализировать его.
Тогда почему снова?У меня нет времени изучать вещи и кое-что из Custom Config, мне нужно делать все быстро!
Почему снова?Я серьезно не хочу этого делать, но другого пути нет, вся база кода отстой!(Да, из-за предыдущей разработки) И у меня нет времени, лол.
Мысли?