我正在使用流明编写Web服务,需要存储一些常量,特别是错误值,还需要存储其他配置参数。把它们放在哪里最合适?
答案 0 :(得分:2)
在config /中创建一个constants.php文件,并将您的设置放在一个数组中:
<?php
return [
'CONTACT_NAME' => 'Admin'
];
然后在您的控制器中,您可以使用Config Facade获取值:
echo Config::get('constants.CONTACT_NAME');
答案 1 :(得分:1)
好像你在谈论两件不同的事情。对于配置值,唯一正确的位置是.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;
...
答案 2 :(得分:1)
这是我的方法。
我在bootstrap文件夹中创建了一个const.php文件,在其中定义了一些错误代码。
<?php
define('VALIDATION_EXCEPTION',422);
我使用require_once将const.php文件包含在app.php中。
<?php
require_once __DIR__.'./const.php';
现在,我可以从任何地方致电VALIDATION_EXCEPTION。例如。
$router->get('/test',function(){
return VALIDATION_EXCEPTION;
});
就是这样!
答案 3 :(得分:1)
1。在App Directory下创建新的目录助手。
2。在Helpers目录下创建新的php文件ErrorCodes.php
3。将常量放入该文件
<?php define('VALIDATION_ERROR', 'E001'); define('EXCEPTION', 'E002'); define('CUSTOM','E003'); ?>
4。在composer.json的autoload部分下添加此ErrorCodes文件
"files" : [
"app/Helpers/ErrorCodes.php"
]
5。在工匠终端中运行composer autoload命令
composer dumpautoload
您都可以在流明应用程序中的任何地方使用常量。
答案 4 :(得分:0)
此解决方案来自this link
.env用于按环境配置和敏感凭据。
您可以使用此类型的数据维护配置。没有像Laravel一样的Lumen默认配置,因此您需要添加所需的配置目录,并告诉Lumen使用它:
const fn2 = (th, td) => {
$.getJSON(api, function(elem) {
elem.forEach(d => {
heads = Object.keys(d.data[0]);
col = Object.values(d.data);
heads.forEach(headers => {
$(th).append(`<th>${headers}</th>`);
});
let colCells = '';
col.forEach(cols => {
Object.values(cols).forEach(c => {
colCells += `<td>${c}</td>`;
});
$(td).append(`<tr>${colCells}</tr>`);
});
});
}
在app.php文件中,您可以使用config返回一个数组:
$ mkdir config
$ touch config/app.php
然后告诉Lumen通过添加(在初始化$ app之后)从bootstrap / app.php中的app.php加载配置:
// config/app.php
<?php
return [
'order_by' => 'whatever'
// and so on
];
最后,您可以使用config()帮助方法来获取配置:
$app->configure('app');