PHP, определяющий глобальные константы внутри класса - PullRequest
0 голосов
/ 24 мая 2018

Как в 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, мне нужно делать все быстро!

Почему снова?Я серьезно не хочу этого делать, но другого пути нет, вся база кода отстой!(Да, из-за предыдущей разработки) И у меня нет времени, лол.

Мысли?

...