我正在使用 Lumen 编写一个 Web 服务,需要存储一些常量,特别是错误值,还有其他配置参数。最适合放置这些常量的位置在哪里?
我正在使用 Lumen 编写一个 Web 服务,需要存储一些常量,特别是错误值,还有其他配置参数。最适合放置这些常量的位置在哪里?
<?php
define('VALIDATION_EXCEPTION',422);
<?php
require_once __DIR__.'./const.php';
$router->get('/test',function(){
return VALIDATION_EXCEPTION;
});
就是这样!
$ mkdir config
$ touch config/app.php
// config/app.php
<?php
return [
'order_by' => 'whatever'
// and so on
];
$app->configure('app');
config('app.order_by') // whatever
<?php
return [
'CONTACT_NAME' => 'Admin'
];
那么在您的控制器中,您可以使用 Config 门面获取该值:
echo Config::get('constants.CONTACT_NAME');
1. 在 App 目录下创建新的目录 Helpers。
2. 在 Helpers 目录下创建新的 PHP 文件 ErrorCodes.php。
3. 将您的常量放入该文件中。
<?php define('VALIDATION_ERROR', 'E001'); define('EXCEPTION', 'E002'); define('CUSTOM','E003'); ?>
4.将此ErrorCodes文件添加到composer.json的autoload部分中
"files" : [
"app/Helpers/ErrorCodes.php"
]
composer dumpautoload
现在您已经设置好在lumen应用程序中使用常量。
看起来你在这里谈论两件不同的事情。对于配置值,唯一正确的位置是.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;
...