配置缓存
laravel 配置分布在数十个文件中,including 每个请求的每个文件都是一个昂贵的过程。要将所有配置文件合并为一个,请使用:
php artisan config:cache
请记住,对配置进行的任何更改在缓存后都不会产生任何影响。要刷新配置缓存,请再次运行上述命令。如果您想完全摆脱配置缓存,请运行
php artisan config:clear
路由缓存
在 laravel 中,路由也是一项昂贵的任务。要缓存 routes.php 文件,请运行以下命令:
php artisan route:cache
请注意,它不适用于闭包。如果您使用闭包,这是将它们移动到控制器中的绝佳机会,因为当尝试编译绑定到闭包而不是正确的控制器方法的路由时,artisan 命令将引发异常。
与配置缓存相同,对 routes.php 的任何更改将不再有任何影响。要刷新缓存,请在每次更改路由文件时运行上述命令。要完全摆脱路由缓存,请运行以下命令:
php artisan route:clear
类图优化
一个中型项目分布在数百个 PHP 文件中的情况并不少见。由于良好的编码行为要求我们,一切都有自己的文件。当然,这并非没有缺点。 Laravel 必须为每个请求包含几十个不同的文件,这是一件很昂贵的事情。
因此,一种好的优化方法是声明每个请求使用哪些文件(例如,您的所有服务提供者、中间件等)并将它们组合到一个文件中,然后加载每个请求。这与将所有 javascript 文件合并为一个没有什么不同,因此浏览器将不得不向服务器发出更少的请求。
额外的编译文件(同样:服务提供者、中间件等)应该由您在 config/compile.php 中的 files 键中声明。一旦你把对你的应用发出的每个请求所必需的所有东西都放在那里,将它们连接到一个文件中:
php artisan optimize --force
优化作曲家自动加载
这个不仅适用于 laravel,也适用于任何使用 composer 的应用程序。
我将首先解释 PSR-4 自动加载是如何工作的,然后我会告诉你应该运行什么命令来优化它。如果你对 Composer 的工作原理不感兴趣,我建议你直接跳到控制台命令。
当您向 Composer 询问 App\Controllers\AuthController 类时,它首先在类映射中搜索直接关联。类映射是一个具有类和文件一对一关联的数组。当然,由于您没有手动将 Login 类及其关联文件添加到类映射中,因此 composer 将继续前进并在命名空间中搜索。
因为 App 是一个 PSR-4 命名空间,它是 Laravel 默认提供的,并且与 app/ 文件夹相关联,因此 composer 将尝试使用基本的字符串操作过程将 PSR-4 类名转换为文件名。最后,它猜测App\Controllers\AuthController 必须位于一个AuthController.php 文件中,该文件位于Controllers/ 文件夹中,幸运的是应该位于命名空间文件夹中,即app/。
所有这些艰苦的工作只是为了让App\Controllers\AuthController 类存在于app/Controllers/AuthController.php 文件中。为了让 composer 扫描您的整个应用程序并创建类和文件的直接一对一关联,请运行以下命令:
composer dumpautoload -o
请记住,如果您已经运行了 php artisan optimize --force,那么您就不必再运行这个了。由于优化命令已经告诉作曲家创建一个优化的自动加载。