我不明白如何制作全局变量,我将来可以改变其价值并一遍又一遍地将其重复变化?我的控制器示例:
public function getProducts()
{
// some stuff
$products = SQLquery;
config(['memoProducts' => $products]);
$value = config('memoProducts');
dd($value)//returns what I need
}
public function setProducts()
{
//here I try to get $products from previous function
$value = config('memoProducts');
dd($value)//returns null
}
我的问题是什么?
ps:感谢您以为我愚蠢的AF并整天删除我的问题,尽管您的答案似乎没有帮助。非常感谢
有很多方法可以设置和获取全局变量,其中之一将设置为 config
config(['app.timezone' => 'America/Chicago']);
并从 config
$value = config('app.timezone', 'fallback value');
文档
编辑
在运行时设置的配置值仅针对当前请求设置,并且不会将其运送到后续请求。
因此,您可以使用其他技术,例如Cache
public function setProducts()
{
$products = SQLquery;
Cache::put('products', $products, 60); // Third parameter is the time limit
}
public function getProducts()
{
//here I try to get $products from previous function
$products = Cache::get('products');
}
或使用Session
public function setProducts()
{
$products = SQLquery;
session(['products' => $products]);
}
public function getProducts()
{
//here I try to get $products from previous function
$products = session('products');
}
有多种通过应用程序传递信息的方法。首先,我们可以使用config()
设置并获取。
您可以选择使用session()
获取并设置。
您还可以将变量添加到request()
对象,例如request()->global_var = 'test'
您可以在config文件夹中创建常量。php文件。
return [
'country_name' => env('COUNTRY_NAME','Bangladesh'),
'city_name' => env('CITY_NAME','Dhaka')
];
您可以在双向
中访问此变量Config::get('constants.country_name')
config('constants.country_name')
用于刀片
{{ config('constants.country_name') }}