Где я должен хранить свои константы в люменах? - PullRequest
0 голосов
/ 24 мая 2018

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

Ответы [ 4 ]

0 голосов
/ 10 мая 2019

1.Создайте новые справочники каталогов в каталоге приложений.

2.Создайте новый php-файл ErrorCodes.php в каталоге справочников

3.Введите ваши константы в этот файл

<?php define('VALIDATION_ERROR', 'E001'); define('EXCEPTION', 'E002'); define('CUSTOM','E003'); ?>

4.Добавьте этот файл ErrorCodes в раздел автозагрузки файла composer.json

"files" : [
        "app/Helpers/ErrorCodes.php"
    ]

5.Запустите команду автозагрузки composer на своем ремесленном терминале

composer dumpautoload

И все готовоиспользовать ваши константы в любом месте вашего приложения люмена.

0 голосов
/ 24 мая 2018

Похоже, вы говорите здесь о двух разных вещах.Для значений конфигурации единственным правильным местоположением является файл .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;
...
0 голосов
/ 26 декабря 2018

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

Я сделал файл 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;
});

Вот и все!

0 голосов
/ 24 мая 2018

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

<?php

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

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

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