gpt4 book ai didi

php - laravel 是否缓存配置?

转载 作者:可可西里 更新时间:2023-11-01 00:58:38 25 4
gpt4 key购买 nike

比如说,我第一次使用 config('app.configKey') 获取配置。 Laravel 加载文件应用程序并获取所需的 key 。如果我下次调用它,laravel 会再次加载文件吗?还是存储值?

我想知道我是否应该写:

$value = config('app.key');
/* Some code here ... */
$anotherVar = $value;

或者:

$value = config('app.key');
/* Some code here ... */
$anotherVar = config('app.key');

这只是一个例子。在实际代码中,我在一个类中获得了配置。后来我在另一个类(class)再次获得了这个配置。

最佳答案

在启动时,Laravel 会读取所有配置文件并将它们的值保存在 Application 实例中。所以调用 config('app.configKey') 不会加载 config/app.php 文件,即使是第一次调用它也是如此。

在您的场景中,这实际上取决于 /* Some code here ... */ 背后的代码。

想象一下调用一些方法,例如$this->changeConfigValue(),更改 app.configKey 的配置值。它实际上所做的是更改应用程序实例中的值,它不会覆盖您的配置文件。

在您的第一个代码示例中,$anotherVar 将始终等于 $value。但是在第二个代码示例中,$anotherVar 的值将再次从 App 实例中读取,并且等于 $this->changeConfigValue() 设置的值到。

这不是缓存。

Laravel 提供了一种缓存配置的方法。您可以使用 artisan 命令手动执行此操作:

php artisan 配置:缓存

这将创建文件 bootstrap/cache/config.php,它将所有配置保存在一个文件中。启动时,只读取一个文件比读取整个配置目录更快(这就是缓存的作用:P)。

http://laravel.com/docs/5.1/installation#configuration-caching

关于php - laravel 是否缓存配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33962059/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com