Laravel 8:在性能,正确性和安全性方面,是否可以保留未使用的功能配置文件?



Laravel 8有授权、邮件、广播、队列、服务、会话等配置文件,但我没有在我的特定应用程序中使用这些功能。

是否可以保留配置文件(和相应的。env设置)不变,或者删除这些文件更好?

我在这里讨论的是性能、执行正确性和安全性,而不是代码可读性。换句话说,我说的是"对我的应用程序的实际影响"。

简短回答:

如果你不想脱离laravel的生态系统,不建议这样做。

TL;博士:

从Laravel版本5.1开始,有一些关于配置的一般更改。这对你的v8也是如此。

在每个今天的laravel项目你有bootstrap/cache目录,其中包含一些bootstrap/cache/.gitignore文件用于忽略其他文件。那些被忽略的(3-4)文件实际上是缓存文件,它们是自动创建的,你不能对这些文件做任何事情。

引导/缓存/config。文件负责所有的配置,它创建为config/*.php配置文件,以及来自供应商依赖项的所有配置文件。这意味着,每次当你使用你的laravel应用程序,该文件将自动创建使用

  • 所有特定于项目的配置
  • 所有厂商的配置
  • .env.
  • 中的环境变量

注意可能会有一种情况,当一些收件箱包(如laravel的默认mail.php配置文件)或一些第三方包(不太可能,但无论如何)不能有自己的配置文件,所以在供应商的核心代码中可能有信心,它可以从他们适当的config/*.php得到一些配置。文件,所以在这种情况下不建议删除它。例如,当您删除config/mail.php时在这两种情况下,除了一些小的mail-config-features(这里的优化仅约为1)之外,您将拥有大致相同的缓存配置。~60行人类可读的行),但在这种情况下,你不能使用laravel的邮件功能。

的意义是,当你想覆盖一些配置,你只是创建一些自己的配置文件(通常与它在供应商的适当位置相同的名称),这样laravel可以做缓存从config/*.php,但不能从vendor/username/package/path/到/config.php.

因此,为了优化,laravel做缓存过程一次,并且在整个使用后,它将只从bootsrapbootsrap/cache/config.php检索配置配置。

这就是为什么每次你修改一些config/*.php.env文件,您需要清理(手动),它将自动再次创建或者是:有一个内置命令,如:

# this will clean all the application caches
php artisan optimize
# or only for cleaning and recreating config
# this is an old-school version, but still used
php artisan config:cache
这意味着你不需要从config/*.php

中删除一些配置文件。,因为laravel会检查缓存文件是否存在,(如果不存在,那么它会从供应商的配置中创建缓存),并且总是会从缓存文件中读取它们。 结论所有这些都意味着

  • 与安全无关的内容
  • 如果你觉得减少缓存bootstrap/config.php从1566行到1500行,这是一种优化方式,然后你可以自由地这样做,但你应该知道,这可能会在未来产生一些问题。

主观推荐在人类语言中,我不建议这样做。不管怎样,你可以这样做,也许你可以改进一些东西,这是其他贡献者做不到的。但是它不会给你的应用一个真正的效果。

最新更新