有沒有辦法在Symfony2中禁用緩存功能?我試圖在config *和parameters.ini文件中找到該設置,並且我搜索了很多。好的,我找到了一些解決方案,但沒有爲最新版本(Symfony2)。Symfony2禁用緩存?
爲什麼?因爲我想要在不清除應用程序/緩存*的情況下測試新的模板和函數。
有沒有辦法在Symfony2中禁用緩存功能?我試圖在config *和parameters.ini文件中找到該設置,並且我搜索了很多。好的,我找到了一些解決方案,但沒有爲最新版本(Symfony2)。Symfony2禁用緩存?
爲什麼?因爲我想要在不清除應用程序/緩存*的情況下測試新的模板和函數。
我假設你使用的是Twig引擎(Symfony2的默認模板引擎)。要在樹枝禁用緩存,這樣你就不必保持清除緩存,像這樣:
rm -rf app/cache/*
瀏覽到您的應用程序配置文件(defualt將位於../app/config/config。從您的根目錄yml)。滾動到樹枝配置設置(下小枝:),並改變緩存值(應指向緩存目錄)假像這樣:
twig:
cache: false
如果你沒有看到任何緩存配置條目,只需添加上面的行。
這也可能有助於檢出的枝條捆的配置參考:http://symfony.com/doc/2.0/reference/configuration/twig.html
編輯config_dev.yml文件後,轉到您的終端並運行:
app/console cache:clear
好的,關於您的說明,解決方案只是通過前端控制器web/app_dev.php使用開發環境。然後sf2跟蹤您的調整,並且不必清除緩存。
這種原始的解決方案適用於我的作品http://symfony.com/doc/current/cookbook/debugging.html
該鏈接不顯示如何在每個請求上設置分枝來重新編譯。 – jhnlsn
編輯'config_dev.yml'和'config.yml',然後放入
twig:
cache: false
除了接受的答案,我建議以某種方式編輯您的config_dev.yml,以便它仍然調試您的樹枝模板。要做到這一點,將此代碼添加到您的config_dev.yml文件:
twig:
cache: false
debug: true
services:
twig.extension.debug:
class: Twig_Extension_Debug
tags:
- { name: 'twig.extension' }
編輯config_dev.yml文件後,轉到您的終端並運行:
app/console cache:clear
通過這樣做,你會重新加載您的config_dev.yml設置 - 使您的項目以新配置運行。
希望這會有所幫助。
這個緩存的概念仍然令我困惑。不知道這是否可能。實際上有兩個高速緩存 - 至少 - 對於使用的組件來說,用於自動增強(twig,config,routes)和另一個。不知道,鑑於sf2 std distrib的架構,禁用緩存的想法是有意義的。 : - /代碼將不得不被大大改變我想,因爲你將不得不翻譯yml-configs,yml-routing和模板到php ...也許它更容易成爲緩存獨立如果一個使用PHP的路線,模板和配置。 – Raffael
你想禁用什麼類型的緩存?對於HTTP緩存,最好的概述可能是[here](http://symfony.com/doc/current/book/http_cache.html) - 但請注意,它默認情況下並未打開。你能否詳細解釋一下你想解決的問題? –
我想在不清除/ app/cache/*的情況下測試模板和配置。 – NaN