我正在使用Smarty處理舊的舊版PHP應用程序。我不熟悉Smarty。因此我的問題。Smarty是否使用APC(或其他緩存解決方案)?
我知道Smarty模板已經編譯到PHP中。然後,他們被調用一些數據來生成輸出。生成的PHP將作爲此過程的一部分進行編譯。
APC(和其他緩存解決方案)避免在用戶請求之間重新編譯PHP。 i)如果我用一個原始模板調用Smarty,它會先將它編譯成PHP,然後再編譯成操作碼,對不對?
二)如果一個高速緩存系統,如APC在我的PHP應用程序已啓用,如果模板已經被調用(即,在過去的編譯):
一)將Smarty的足夠聰明,不重新編譯每個用戶請求將模板導入PHP?
b)編譯模板的PHP的操作碼是否會通過APC重新使用?
爲什麼我會問這些問題?這個遺留應用程序早已實施(2010年之前的一些部分)。他們已經實現了所有Smarty模板的預編譯系統,並將它們複製到應用程序的某個目錄中,以直接調用生成的PHP代碼。
我相信它可能在性能方面有意義,但現在,由於操作碼緩存解決方案仍然可用,它仍然有意義嗎?我們可以擺脫這種預編譯過程嗎?
好吧,所以我猜PHP會像對待任何其他PHP文件一樣對待生成的Smarty PHP。正確? – JVerstry
是的,PHP引擎(以及它的APC或OpCache擴展)不會知道Smarty寫這個文件,而不是你或者打印機上的一千個猴子。 – IMSoP