Где я должен хранить свои константы в люменах?

Я пишу веб-сервис с использованием Lumen и мне нужно хранить некоторые константы, в частности, значения ошибок, а также другие параметры конфигурации. Где это было бы наиболее целесообразным, чтобы положить их?

2

Решение

Создайте файл constants.php внутри config / и поместите ваши настройки в массив:

<?php

return [
'CONTACT_NAME' => 'Admin'
];

Тогда в ваших контроллерах вы можете получить значение с помощью Config Facade:

echo Config::get('constants.CONTACT_NAME');
2

Другие решения

Похоже, вы говорите о двух разных вещах здесь. Для значений конфигурации единственным правильным местоположением является .env файл (как уже упоминалось в комментариях).

https://lumen.laravel.com/docs/5.5/configuration#environment-configuration

Это где вы положили все специфические для окружающей среды значения конфигурации (например, ключи API, режим отладки и т. д. и т. д.). Если у вас есть сильное желание, вы можете поместить env-переменные в константы во время процесса начальной загрузки, например:

define('APP_DEBUG',env('APP_DEBUG', true));

Для определения простых констант должно быть несколько возможностей.

Вы можете сделать это либо во время процесса начальной загрузки или определить класс (например, модель):

class Error
{
const FATAL = 1;
const WARNING = 2;
}


use Error;

....
Error::FATAL;
...
1

Вот как я это сделал.

Я сделал файл const.php в папке начальной загрузки, где я определил некоторые коды ошибок.

<?php
define('VALIDATION_EXCEPTION',422);

Я включил файл const.php в app.php, используя require_once.

<?php
require_once __DIR__.'./const.php';

Теперь я могу позвонить VALIDATION_EXCEPTION из любого места. например.

$router->get('/test',function(){
return VALIDATION_EXCEPTION;
});

Это оно!

1
По вопросам рекламы [email protected]