Zend框架的每個模塊的設置
我創建了一個後續這一職位的要求較少的配置,請參閱模塊的佈局- Zend框架 。
當使用Zend框架的模塊,其明顯的,如果你運行的各個(分)網站關閉同一個應用程序,你不一定需要同樣的佈局腳本的每個部分。 我決定去以下網站結構:
/應用 /控制器 ... /模型 /模塊 /默認 /控制器 /佈局 /腳本 /意見 /腳本 / anotherModule ... /腳本
這個問題在設置佈局腳本對每個模塊的基礎。 這句話通過使用一個動作助手。 設置佈局上每個模塊的基礎包括三個步驟:
- 的application.ini(或類似的配置設置):
admin.resources.layout.layoutPath = APPLICATION_PATH“/模組 /管理/佈局 /腳本”default.resources.layout.layoutPath = APPLICATION_PATH“/模組 /預設 /佈局 /腳本”member.resources.layout.layoutPath = APPLICATION_PATH“/模塊/會員 /佈局 /腳本“affiliate.resources.layout.layoutPath = APPLICATION_PATH”/模組 /附屬 /佈局 /腳本“ - 創建你的動作助手:
<?PHP的 / ** *設置佈局路徑上的每個模塊的基礎上 * * @作者勞埃德沃特<lloyd@evilprofessor.co.uk> * @自2010年1月1日 * / 類 Pro_Controller_Action_Helper_SetLayoutPath 延伸Zend_Controller_Action_Helper_Abstract { / ** *設置佈局的基礎上的模塊路徑 * / 公共職能 preDispatch()在 { 這個模塊 = $ $ -> getRequest() - >“getModuleName(); 如果($引導 = $此-> getActionController() - >“getInvokeArg('引導')){ = $ $配置引導 -> getOptions(); 如果(使用isset($配置[$模塊] ['資源'] ['佈局'] ['layoutPath'])){ = $ layoutPath 配置$ [$模塊] ['資源'] ['佈局'] ['layoutPath']; $這個 -> getActionController() - >“getHelper('佈局') - >“setLayoutPath($ layoutPath); } } } }
- 最後自舉的動作助手:
... / ** *設置了佈局腳本對每個模塊的基礎 * / 保護功能_initLayoutHelper() { $這個 ->引導('frontController'); $佈局 = Zend_Controller_Action_HelperBroker::addHelper( 新Pro_Controller_Action_Helper_SetLayoutPath()); } ...


















































您好首先感謝您的幫助教程,但告訴我在哪裡創建動作助手與巫婆的文件名?
behrang
嗨Behrang,創建動作助手,找遍你喜歡的名字,我有我自己的'圖書館'命名空間'臨'。 你可以很容易地調用類的SetLayoutPath'並把它放在任何你喜歡,提供的代碼,你可以找到它所需的類擴展
嗨,亞姆混淆設立特定的數據庫模塊設置 ...沒有任何人有一個想法?
我覺得這可能很容易地實現 usign上述模式。 首先,創建選項在您的INI文件以及文件的:
moduleName.db.user =“
moduleName.db.password =“
moduleName2.db.user =“
等等... ...
然後,只需生成數據庫連接您認為合適的(Zend_Db的::工廠()或類似的)和它拿走藏在註冊表中或將其設置為默認的適配器,如果使用的Zend_Db_Table(的Zend_Db_Table::setDefaultAdapter()來)。