在Laravel中获取/设置全局变量



我不明白如何制作全局变量,我将来可以改变其价值并一遍又一遍地将其重复变化?我的控制器示例:

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') }}

相关内容

  • 没有找到相关文章

最新更新