2013-01-14 29 views
2

Symfony2將翻譯存儲在緩存中(例如app/cache/{dev|prod}/translations/catalogue.fr.php),無論使用哪種提供程序。Symfony2會加載內存中的所有翻譯嗎?

這個緩存中的文件只是定義了一個數組,其中的鍵例如是英文的,而其他語言的數值是這樣的。

這是否意味着隨着翻譯字符串的數量增長,這個數組會隨着時間的推移而無限增長? 如果我翻譯了10.000個字符串,這是否意味着每個請求都會在內存中加載這個10.000數組?

回答

1

是的,這就是PHP的工作原理。 Symfony只需在該「緩存」數組內查找段密鑰,這當然必須在內存中加載。

更詳細地說,here是ArrayLoader類,它負責從數組中加載轉換段。