2019年2月24日

Laravel 如何修改 View Cache 的路徑

在Laravel 5.7中,Blade Engineer 編譯完 Blade 樣板後,會針對這次編譯完的結果產生快取檔案,以加快下次讀取速度,節省每次重新編譯的時間。

有兩種簡單的方法可以修改Laravel View快取的預設路徑。

  1. 設定 config 檔案
  2. 設定 .env 檔案

設定 config 檔案

在 Laravel 專案根目錄的 config 資料夾,找到/config/view.php,此檔案會回傳一個 array,包含 Laravel 尋找 View 檔案的相關設定。

該 array 的其中一個 key 值 compiled 即是 Blade 預設的快取路徑。

'compiled' => env(
    'VIEW_COMPILED_PATH',
    realpath(storage_path('framework/views'))
)

我們可以將其中的 realpath(storage_path('framework/views')) 置換成想要的儲存路徑,例如 /tmp/laravel/cache/views。 如:

'compiled' => env(
    'VIEW_COMPILED_PATH',
    '/tmp/laravel/cache/views'
)

設定 .env 檔案

Laravel 亦有提供環境設定檔案,讓開發者可以根據環境設定不同的環境變數。

在前一個例子中,我們有看到 env() 函式,第一個參數代表要取出哪一個設定值,第二個參數則是當沒有這個設定時要採用的預設值。

我們可以在 .env 之中新增一行:

VIEW_COMPILED_PATH=/tmp/laravel/cache/views

如此當 /config/view.php 回傳設定檔時,便會以.env中的 VIEW_COMPILED_PATH 值為主。


開發環境

  • PHP 7.3.0
  • Laravel Framework 5.7.21