我希望有一些常量可以将IP,平台,浏览器放在一个文件中,并在所有视图和控制器中使用,如下所示:
//在app / config / constants.php里面
return [
'IP' => 'some ip'
];
//控制器内部
echo Config::get('constants.IP');
但我没有使用Request::ip()
至少甚至更好,而是使用parse_user_agent()['platform']
代码链接为here
答案 0 :(得分:1)
您可以在配置文件中添加以下内容:
return [
'ip' => app('request')->ip()
];
我在网站配置中使用了一个小的自定义配置,例如,让我们说你想要使用这样的东西:
/**
* Get config/constants.php
*
* [
* 'person' => [
* 'name' => 'Me',
* 'age' => 1000
* ]
* ];
*/
$name = constants('person.name');
因此,要实现这一点,您需要编写一个类似的函数:
// Helpers/Common.php
function constants($key = null)
{
$constants = config('constants');
return is_null($key) ? $constants : array_get($constants, $key);
}
现在,您可以在composer.json
文件中添加以下files
条目:
"psr-4": {
"App\\": "app/"
},
"files": ["Helpers/Common.php"]
然后,您需要在constants.php
目录中添加config
,例如:
<?php
return [
"ip" => app('request')->ip(),
"person" => [
"name" => "Sheikh Heera",
"age" => 10000
],
];
最后,只需从终端运行composer-dump
即可完成。因此,如果数组中有ip
键,那么您可以尝试这样做:
$ip = constants('ip');
从视图(Blade)中,您可以使用以下内容来回显ip
:
{{ constants('ip') }}
让我们总结整个过程:
在项目根目录(或在应用程序内部,如果您愿意)创建一个目录为Helpers
。
在该目录中创建Common.php
文件并放入数组(返回)
将constants
函数(上面给出)放在Common.php
文件
在files
文件中添加composer.json
(上面给出的)密钥
运行composer-dump
更新自动加载文件
那就是它。使用描述您的domian的文件名和帮助程序函数名称,因此您可以使用constants
而不是site
代替function method2 (callback) {
return $.ajax({
type: 'GET',
url: 'Some URL',
dataType: 'jsonp',
success: function(data2){
callback(null, data2); // Call callback, first parameter if there was an error, second the result
}
});
}
function method3 (callback){
return $.ajax({
type: 'GET',
url: 'Some URL',
dataType: 'jsonp',
success: function(data3){
callback(null, data3);
}
});
}
function method4(callback){
return $.ajax({
type: 'GET',
url: 'Some URL',
dataType: 'jsonp',
success: function(data4){
callback(null, data4);
}
});
}
/* ... */
async.series([
method2,
method3,
method4,
/* ... */
], function(err, results){
console.log(results); // Find all the stuff you passed to the callbacks, e.g. results = [data2, data3, data4];
});
或您的域名。
答案 1 :(得分:0)
您可以创建(或使用现有的)服务提供者,并在注册方法中使用以下代码:
view()->share('constants', config('constants', []));
在视图帮助函数上使用share将在所有视图上共享变量。
您现在可以在任何视图中访问此变量,例如使用blade:
{{ array_get($constants, 'ip') }}