我正在使用CodeIgniter和doctrine爲我的項目。當我啓用CodeIgniter分析我知道我的一個請求是18MB的內存。我用簡單的CI和Doctrine庫創建了測試項目。在測試項目CRUD操作每個請求需要6到7 MB內存。深入到應用程序後,我知道包含的模型佔用了太多的內存。如何在codeigniter中有條件地加載控制器方法中的模型
早些時候我將模型加載到構造方法中。但它消耗太多內存。 我決定將模型加載到特定方法所需的每種方法中。
這是不錯的方法嗎?
請給我一些建議。
我正在使用CodeIgniter和doctrine爲我的項目。當我啓用CodeIgniter分析我知道我的一個請求是18MB的內存。我用簡單的CI和Doctrine庫創建了測試項目。在測試項目CRUD操作每個請求需要6到7 MB內存。深入到應用程序後,我知道包含的模型佔用了太多的內存。如何在codeigniter中有條件地加載控制器方法中的模型
早些時候我將模型加載到構造方法中。但它消耗太多內存。 我決定將模型加載到特定方法所需的每種方法中。
這是不錯的方法嗎?
請給我一些建議。
不,你不應該在每種方法中加載模型。而是嘗試在每個控制器文件的構造器中加載模型。希望你明白我的答案。
當然,我們應該有條件地加載模型。
1)您應該在構造函數中爲加載模型編寫一些條件。 2)另外,任何控制器都應該只包含必需/依賴模型。
3)在每種方法中包含模型加載頁面的速度更快。但是,這不是最佳做法。
4)相反,你應該深入研究你的模型代碼,並找出爲什麼要花這麼多時間來加載。
你的方法是對的。
使用autoload.php加載模式的品牌,以充分利用該框架有利於
我對內存的擔憂......因爲我不想通過自動加載模型或庫...我想加載模型時,需要。 – purab
這取決於你需要多少特定的模型......我不認爲會有我的任何記憶問題兄弟 –
我已經做了我的項目,但模型正在3MB內存爲每個請求。如果從構造函數中刪除模型,那麼它會減少內存。 – purab
您在控制器文件中使用了多少個模型文件? – Nes
我在單個控制器中使用的四十個模型文件。 – purab