Zend Qafas-Modulu bbażati settings Per
Stajt ħolqot followup li din il-kariga li teħtieġ konfigurazzjoni inqas, jekk jogħġbok ara Modulu Ibbażat Layout - Zend Qafas .
Meta jintuża l- qafas Zend ma 'moduli, ovvja tagħha li jekk inti qed taħdem varji (sub-) siti off-istess applikazzjoni inti ma neċessarjament jixtiequ l-istess tqassim skripts għal kull parti. I iddeċieda li jmorru ma 'l-istruttura sit li ġej:
/ Applikazzjoni / Kontrolluri ... / Mudelli / Moduli / Default / Kontrolluri / Tqassim / Skripts / Opinjonijiet / Skripts / AnotherModule ... / Skripts
Il-problema kienet li jistabbilixxi l-iskripts tqassim fuq bażi ta 'kull modulu. It-tweġiba daħal permezz użu ta 'helper Azzjoni. Twaqqif tal-taqsim fuq bażi ta 'kull modulu jinvolvi tliet stadji:
- Application.ini (jew setup konfigurazzjoni simili):
= APPLICATION_PATH admin.resources.layout.layoutPath "/ moduli / admin / presentazzjonijiet / skripts" = Default.resources.layout.layoutPath APPLICATION_PATH "/ moduli / default / presentazzjonijiet / skripts" = Member.resources.layout.layoutPath APPLICATION_PATH "/ moduli / membru / presentazzjonijiet / skripts" = Affiliate.resources.layout.layoutPath APPLICATION_PATH "/ moduli / affiljat / presentazzjonijiet / skripts"
- Oħloq Azzjoni helper tiegħek:
<? PHP / ** * Settijiet-passaġġ tqassim fuq bażi ta 'kull modulu * @ * Awtur Lloyd Watkin <lloyd@evilprofessor.co.uk> * @ Peress 2010/01/01 * / klassi Pro_Controller_Action_Helper_SetLayoutPath testendi Zend_Controller_Action_Helper_Abstract { / ** * Tqassim Settijiet triq ibbażati fuq il-modulu * / pubbliku funzjoni preDispatch () { $ Modulu = getRequest $ dan il-> () -> getModuleName (); jekk ($ bootstrap = getActionController $ dan il-> () - GetInvokeArg> ("bootstrap")) { $ Konfigurazzjoni = $ getOptions bootstrap-> (); jekk ((isset $ konfigurazzjoni ["tqassim"] [$ modulu] ["riżorsi"] ["layoutPath"])) { $ LayoutPath = $ Konfigurazzjoni [$ modulu] ["tqassim"] ["riżorsi"] ["layoutPath"]; getActionController $ dan il-> () - GetHelper> ("tqassim") - SetLayoutPath> ($ layoutPath); } } } }
- U fl-aħħar boostrap l-helper azzjoni:
... / ** * Twaqqaf skripts tqassim fuq bażi ta 'kull modulu * / protetti funzjoni _initLayoutHelper () { $ Dan il-> bootstrap ("frontController"); $ Tqassim = Zend_Controller_Action_HelperBroker:: addHelper ( Pro_Controller_Action_Helper_SetLayoutPath ġodda ()); } ...


















































Hi grazzi għall-ewwel tiegħek utli tutorja imma tell me I fejn joħolqu helper azzjoni bl-isem fajl witch?
behrang
Hi Behrang, joħolqu l-helper azzjoni ma 'kwalunkwe isem li tixtieq, għandi tiegħi stess "librerija" ma namespace "Pro". Inti tista 'biss bħala faċilment sejħa "SetLayoutPath" il-klassi u poġġih fejn qatt li tixtieq, sakemm il-kodiċi jistgħu jsibuha u inti testendi l-klassijiet meħtieġa
Hi, iam konfuż mat-twaqqif settings modulu database speċifika ... ħadd ma jkollu idea?
Naħseb li dan jista 'jinkiseb faċilment usign il-mudell ta' hawn fuq. L-ewwelnett, joħolqu l-għażliet fil-fajl ini tiegħek tul il-fajls ta ':
moduleName.db.user = "
moduleName.db.password = "
moduleName2.db.user = "
... ... Eċċ
Mbagħad sempliċement jiġġeneraw konnessjoni database tiegħek kif tara xieraq (Zend_Db:: fabbrika () jew simili) u stash bogħod fir-reġistru jew stabbilixxa bħala l-adapter default, jekk jużaw Zend_Db_Table (Zend_Db_Table:: setDefaultAdapter ()).