Лучший способ сделать это - добавить их в файл config/app.php
.Где-нибудь над списком провайдеров [] вы можете добавить
'CONST' => ['THE_ID_OF_SOMETHING_NICE' => 1,
'THE_ID_OF_SOMETHING_UGLY' => 2,
],
и в любом месте в коде для доступа к значениям с помощью помощника laravel config('app.CONST.THE_ID_OF_SOMETHING_NICE');
Вы можете использоватьфайла .env
, но имейте в виду, что в производственном процессе этот файл игнорируется, поскольку конфигурация автоматически кэшируется.В .env вы можете добавить строку THE_ID_OF_SOMETHING_NICE=1
, а в файл config/app.php
вы добавите
'CONST' => ['THE_ID_OF_SOMETHING_NICE' => env('THE_ID_OF_SOMETHING_NICE'),],
, откуда вы можете получить доступ к значению точно так же с помощью помощника config()
.
Лично я добавляю значения в файл app.php
и не беспокоюсь о добавлении значений в .env, потому что в основном они содержат некритическую информацию (например, ваши личные ключи и т. Д.)
Если выКак создать отдельный файл для изоляции от других файлов конфигурации, вы можете создать файл f.ex.config/constants.php
и вернуть массив, как это делается в других файлах конфигурации.Сделайте это плоским массивом (без ключа 'CONST'
).В app/providers/AppServiceProvider
в методе register()
добавьте
$this->mergeConfigFrom('config/constants.php', 'constants');
Таким образом, вы можете получить доступ к своим константам с помощью config('constants.THE_ID_OF_SOMETHING_NICE');