命令優(yōu)化
本文的目的是來弄清楚一些優(yōu)化命令在 Laravel 5.1 和之前版本之間的差別. 在 15年6月發(fā)布的 Laravel 5.1版本中, 命令和他們的邏輯方法被清理掉, 本文章就是描述這些不同.
Laravel 5 在優(yōu)化框架性能的時候提供了一系列的命令, 這篇文章接卸這些命令做什么并且把緩存文件放到了什么位置.
php artisan optimize
php artisan config:cache
php artisan route:cache
優(yōu)化文件的存儲路徑
優(yōu)化命令生成的文件放置在 bootstrap/cache/
目錄下
artisan optimize
php artisan optimize
創(chuàng)建了一個調(diào)用文件來為了避免每次請求的時候把一系列的文件都加載進來. 這個文件存儲在bootstrap/cache/compiled.php
.
你可以在 config/compile.php
文件中指定需要額外加載的類.
這個編譯文件僅僅在 環(huán)境是 production
(開發(fā)環(huán)境) 的時候才生成, 除非使用 --force
參數(shù)
artisan optimize
同時也創(chuàng)建了bootstrap/cache/services.json
, 用來優(yōu)化服務(wù)加載器的性能. 這個命令不再編譯視圖文件.
(The command does no longer compile views.)
php artisan clear-compiled
刪除bootstrap/cache/compiled.php
和bootstrap/cache/services.json
.
artisan optimize
的輸出基于你的配置文件, 例如config/app.php
的providers
數(shù)組, 在部署模式下, 這個命令需要在php artisan config:cache
之后執(zhí)行
artisan config:cache
php artisan config:cache
這個把所有的配置文件打包到一個文件 bootstrap/cache/config.php
中, 這樣避免了配置文件加載多次. 這個命令在生成新的配置文件前會清理掉舊的配置文件.
php artisan config:clear
用來逆向這個過程, 來刪除bootstrap/cache/config.php
這個文件.
artisan route:cache
php artisan route:cache
建立一個路由緩存文件來加速路由解析. 這個命令會首先清理舊的緩存文件.
php artisan route:clear
刪除路由緩存
artisan view:clear
Laravel 會在第一次運行框架的時候編譯所有的視圖文件. 編譯的文件根據(jù)路徑的 md5 來計算新文件的路徑 MD5 sum of its path (不是內(nèi)容, 是路徑).
artisan view:clear
清理 所有在 storage/framework/views/
下的文件.
Laravel 5.0
在 5.1 之前, 優(yōu)化文件默認(rèn)生成在 vendor/
目錄下. 如果vendor 目錄不可寫, 文件會被寫入到 storage/framework/
目錄下, 在 v5.0.20 你可以設(shè)置 storage/framework/
作為默認(rèn)的優(yōu)化文件的存儲路徑. 方法是 在 bootstrap/app.php
文件中加入下邊這一行:
$app->useStoragePathForOptimizations(true);
Laravel 5.1 會用一個指定的目錄bootstrap/cache
來保存 生成的編譯文件. 這包括 , bootstrap/cache
, compiled.php
, routes.php
, config.php
, 和services.json
.
1. 取消 Inspiring 加載
來這里看看 Inspiring 能做什么
Inspiring 是 l5 默認(rèn)帶的一個獲取心靈雞湯顯示的一個示例. 不需要雞湯則優(yōu)化掉
'aliases' => [
...
'Inspiring' => 'Illuminate\Foundation\Inspiring',
...
]
... 持續(xù)更新