Zend Framework Per-Module byggt stillingar

By Steven Lloyd Watkin , föstudaginn 1. janúar 2010 22:40

Ég hef búið til fylgja þessum pósti sem þurfa minna stillingar, sjá Module Byggt Layout - Zend Framework .

Þegar nota Zend Framework með einingar, augljóst þess að ef þú ert að keyra ýmsar (undir) svæði af sama forritinu sem þú ert ekki endilega sömu forskriftir skipulag fyrir hvern hluta. Ég ákvað að fara með eftirfarandi blogg uppbygging:

  / Application
     / Stýringar
         ...
     / Módel
     / Modules
         / Default
             / Stýringar
             / Skipulag
                 / Forskriftir
             / Skoðanir
                 / Forskriftir
         / AnotherModule
             ...
     / Forskriftir

Vandamálið var að setja upp skipulag forskriftir á hverja einingu fyrir sig. Svarið kom í gegnum með aðgerðaáætlun Helper. Setja upp skipulag á hverja einingu grundvelli felur í sér þrjú skref:

  1. Application.ini (eða svipað stillingar skipulag):
      admin.resources.layout.layoutPath = APPLICATION_PATH "/ modules / admin / layout / forskriftir"
     default.resources.layout.layoutPath = APPLICATION_PATH "/ modules / default / layout / forskriftir"
     member.resources.layout.layoutPath = APPLICATION_PATH "/ modules / félagi / layout / forskriftir"
     affiliate.resources.layout.layoutPath = APPLICATION_PATH "/ modules / tengja / layout / forskriftir" 
  2. Búa Action Helper þitt:
      <? PHP
     / **
      * Setur skipulag slóð á hverja einingu grundvelli
      *
      * @ Höfundur Lloyd Watkin <lloyd@evilprofessor.co.uk>
      * @ Síðan 2010/01/01
      * /
     bekknum Pro_Controller_Action_Helper_SetLayoutPath
         nær Zend_Controller_Action_Helper_Abstract
     {
         / **
          * Leikmynd skipulag slóð byggist á einingu
          * /
         opinbera virka preDispatch ()
         {
        	 $ Mát = $ this-> getRequest () -> getModuleName ();
    
    	     if ($ ræsi = $ this-> getActionController ()
    	                        -> GetInvokeArg ('ræsi')) {
    
    	         $ Config = $ ræsi-> getOptions ();
    
    	         if (isset ($ config ['layoutPath'] ['skipulag'] [$ mát] ['auðlinda'])) {
    	             $ LayoutPath =
    	                  $ Config [$ mát] ['layoutPath'] ['skipulag'] ['auðlinda'];
    	             $ This-> getActionController ()
    	                  -> GetHelper ('skipulag')
    	                  -> SetLayoutPath ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. Og loks boostrap aðgerð hjálpar:
      ...
         / **
          * Setur upp skipulag forskriftir á hverja einingu grundvelli
          * /
         vernda virka _initLayoutHelper ()
    	 {
    	     $ This-> ræsi ('frontController');
    	     $ Skipulag = Zend_Controller_Action_HelperBroker:: addHelper (
    	         ný Pro_Controller_Action_Helper_SetLayoutPath ());
    	 }
     ... 

4 Svar til "Zend Framework Per-Module byggt stillingar"

  1. Behrang segir:

    Hæ fyrst takk fyrir þinn gagnlegar leiðbeiningar en segðu mér hvar ég bý til aðgerða hjálpar við norn skrá nafn?
    behrang

  2. Hæ Behrang, búa til aðgerða hjálpar með hvort nafnið sem þú vilt, ég hef eigin 'bókasafnsins minn með Nafnrými' Pro '. Þú gætir alveg eins auðvelt að kalla SetLayoutPath 'bekknum og setti hana þar sem þú vilt, að því tilskildu að hægt er að finna það og þú framlengja þarf bekkjum

  3. shashi kanth segir:

    Hæ, Iam rugla með að setja upp einingu tilteknar stillingar gagnagrunninum ... er einhver með hugmynd?

  4. Ég held að þetta gæti auðveldlega verið náð usign ofan mynstur. Í fyrsta lagi, búa til valkostir í skránni ini þinn á skrám:

    moduleName.db.user = "
    moduleName.db.password = "
    moduleName2.db.user = "
    ... Etc ...

    Þá einfaldlega búa til gagnasafn tengsl þín eins og þú sýnist (Zend_Db:: verksmiðju () eða svipað) og stash það burt í the skrásetning eða setja það á að vera sjálfgefið millistykki ef þú notar Zend_Db_Table (Zend_Db_Table:: setDefaultAdapter ()).

Leave a Reply













Panorama Þema eftir Themocracy

6 gestir inni nú
4 gestir, 2 Botswana, 0 meðlimir
Max gestir í dag: 20 kl 04:58 UTC
Þessi mánuður: 22 kl 2011/08/06 12:30 UTC
Á þessu ári: 130 kl 28-03-2011 22:40 UTC
Allra tíma: 130 kl 28-03-2011 10:40 UTC