我无法理解如何制作全局变量,以后我可以改变其价值并一次又一次地获取它? 我的控制器示例:
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:感谢你认为我是愚蠢的,并且整天都在贬低我的问题,尽管你的答案似乎没有任何帮助。非常感谢答案 0 :(得分:3)
设置和获取全局变量的方法有很多,其中一种设置为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');
}
答案 1 :(得分:0)
您可以在config文件夹中创建constants.php文件。
return [
'country_name' => env('COUNTRY_NAME','Bangladesh'),
'city_name' => env('CITY_NAME','Dhaka')
];
您可以双向访问此变量
Config::get('constants.country_name')
config('constants.country_name')
for blade
{{ config('constants.country_name') }}
答案 2 :(得分:0)
有多种方法可以通过应用程序传递信息。首先,我们可以使用config()
来设置和获取。
您可以选择使用session()
来获取和设置。
您还可以向request()
对象添加变量,例如request()->global_var = 'test'