Zend Qafas-Modulu bbażati settings Per

Permezz Watkin Lloyd Steven , il-Ġimgħa Jannar 1, 2010 22:40

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:

  1. 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" 
  2. 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);
    	         }
        	 }
         }
     } 
  3. 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 ());
    	 }
     ... 

4 Responses to "Zend Qafas settings Per-Modulu bbażati"

  1. Behrang says:

    Hi grazzi għall-ewwel tiegħek utli tutorja imma tell me I fejn joħolqu helper azzjoni bl-isem fajl witch?
    behrang

  2. 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

  3. kanth Shashi says:

    Hi, iam konfuż mat-twaqqif settings modulu database speċifika ... ħadd ma jkollu idea?

  4. 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 ()).

Leave a Reply













Tema Panorama minn Themocracy

7 viżitaturi online issa
6 mistednin, 1 bots, 0 membri
viżitaturi llum Max: 9 fuq 00:05 UTC
Dan ix-xahar: 26 fil 2011/07/05 12:35 UTC
Din is-sena: pm UTC 130 fil 28-03-2011 10:40
Il-ħin kollu: pm UTC 130 fil 28-03-2011 10:40