Константы в Laravel 5.7 выбрасывают уже определенную ошибку - PullRequest
0 голосов
/ 06 декабря 2018

Я создал проект в Laravel 5.7 и создал файл constants.php в директории config.Когда я пытался запустить php artisan config: cache, я получаю следующую ошибку.«ErrorException: Константа XXX_XXX уже определена»

Я определил все константы как define ('XXXX_XXXX', 'bla bla');Все это стандартные константы, необходимые для моего пакета.

Я сделал следующее:

  1. Я искал весь проект, и ясно, что я никогда не определял то же самое в другом месте.
  2. Если я удаляю эту константу, она показывает ошибку при следующем определении ().
  3. Если я удаляю файл из каталога конфигурации, команда ремесленника выполняется успешно, и я вижу конфигурациюфайл кеша в каталоге начальной загрузки / кеша.но моя программа прерывается из-за ошибки (поскольку константы не определены) даже после того, как я вставлю файл обратно в каталог конфигурации.
  4. Если я удаляю файл кэша конфигурации из каталога начальной загрузки / кэша, код выполняется совершенно нормально (я не запускал команду config: cache).

Я очень сильнонужны эти константы и одновременно кешируют конфиги для запуска.Я не могу угадать проблему.

Примечание. Содержимое config/contants.php все определено ('XXX', 'xxx');Просто эхо XYZ;где нужноСтандартные константы php.

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Я не уверен, правильно ли это, но как это работает, так:

  1. Я переместил constants.php из App / config / в App / (вместе с другими моделями)
  2. Я изменил composer.json в "автозагрузке" с помощью

    "files": ["app / constants.php"]

  3. Я запустил дамп-автозагрузку composer

  4. Затем я запустил конфигурацию php artisan: cache

Она создала новый файл конфигурации в начальной загрузке, и код выполняется нормально.

0 голосов
/ 06 декабря 2018

попробуйте таким образом

определить постоянное значение ниже

if (!defined('constant')) define('constant', 'value');
...