Zend Framework Per-modulis balstās uzstādījumi

Ar Steven Lloyd Watkin , piektdien 1 Jan 2010 22:40

Esmu izveidojis follow uz šo amatu, kas prasa mazāk konfigurācija, lūdzu, skatiet modulis Pamatojoties Layout - Zend Framework .

Ja izmanto Zend Framework ar moduļiem, tā skaidrs, ka, ja jūs strādājat dažādiem (sub-) vietām pie pats pieteikums jums nav obligāti gribu pašā izkārtojumā skripti katrai daļai. Es izlēmu iet ar šādu vietnes struktūru:

  / Piemērošana
     / Kontrolieri
         ...
     / Modeļiem
     / Modules
         / Default
             / Kontrolieri
             / Izkārtojumu
                 / Skriptus
             / Viedokļi
                 / Skriptus
         / AnotherModule
             ...
     / Skriptus

Problēma bija izveidot izkārtojumu skripti uz vienu moduli atsevišķi. Atbilde nāca caur ar rīcības Helper. Ar ko izveido izkārtojumi uz vienu moduli bāzes ietver trīs darbības:

  1. Application.ini (vai līdzīgas konfigurācijas uzstādīšanas):
      admin.resources.layout.layoutPath = APPLICATION_PATH "/ modules / admin / izkārtojumu / skriptus"
     default.resources.layout.layoutPath = APPLICATION_PATH "/ modules / default / izkārtojumu / skriptus"
     member.resources.layout.layoutPath = APPLICATION_PATH "/ modules / biedrs / izkārtojumu / skriptus"
     affiliate.resources.layout.layoutPath = APPLICATION_PATH "/ modules / filiāles / izkārtojumu / skriptus" 
  2. Izveidojiet savu rīcību Helper:
      <? Php
     / **
      * Nosaka izkārtojumu ceļu uz vienu moduli bāzes
      *
      * @ Autora Lloyd Watkin <lloyd@evilprofessor.co.uk>
      * @ Kopš 2010/01/01
      * /
     klases Pro_Controller_Action_Helper_SetLayoutPath
         paplašina Zend_Controller_Action_Helper_Abstract
     {
         / **
          * Komplekti izkārtojums ceļu, pamatojoties uz moduļa
          * /
         valsts funkciju preDispatch ()
         {
        	 $ Modulis = $ this-> getRequest () -> getModuleName ();
    
    	     if ($ bootstrap = $ this-> getActionController ()
    	                        -> GetInvokeArg (bootstrap)) {
    
    	         $ Config = $ bootstrap-> getOptions ();
    
    	         if (isset ($ config [$ moduļa] [resursi '] [' izkārtojums '] [' layoutPath '])) {
    	             $ LayoutPath =
    	                  $ Config [$ moduļa] [resursi '] [' izkārtojums '] [' layoutPath '];
    	             $ This-> getActionController ()
    	                  -> GetHelper (izkārtojums)
    	                  -> SetLayoutPath ($ layoutPath);
    	         }
        	 }
         }
     } 
  3. Un visbeidzot boostrap darbības palīgs:
      ...
         / **
          * Izveido izkārtojumu skripti par katru moduli bāzes
          * /
         aizsargājamo funkciju _initLayoutHelper ()
    	 {
    	     $ This-> bootstrap (frontController ");
    	     $ Izkārtojums = Zend_Controller_Action_HelperBroker: addHelper (
    	         jauna Pro_Controller_Action_Helper_SetLayoutPath ());
    	 }
     ... 

4 Atbildes uz "Zend Framework Per-modulis balstās uzstādījumi"

  1. Behrang saka:

    Hi pirmā paldies par jūsu noderīga apmācība, bet man pateikt, kur es varu izveidot rīcības palīgs ar raganu faila nosaukumu?
    behrang

  2. Hi Behrang, izveidot rīcības palīgs piemērojamās vārdu vēlaties, man ir mana "bibliotēka" ar namespace "Pro". Jūs varētu tikpat viegli zvanu klases SetLayoutPath "un nodot to, kur vien vēlaties, ja kodu var atrast, un jūs paplašināt nepieciešamo klasēm

  3. Shashi kanth saka:

    Hi, IAM jaukt ar ko izveido moduļa īpaša datu bāze iestatījumi ... Vai kāds ir ideja?

  4. Es domāju, ka tas varētu viegli sasniegt usign iepriekš minēto struktūru. Pirmkārt, izveidot opcijas jūsu ini failā pie failus:

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

    Tad vienkārši veidot savu datu bāzi saistībā, kā jūs ieskatiem (Zend_Db: rūpnīcas () vai tamlīdzīgi), un atlicināt to prom reģistrā vai iestatīt to kā noklusējuma adapteri, ja izmanto Zend_Db_Table (Zend_Db_Table:: setDefaultAdapter ()).

Atstāj atbildi













Panorama Theme by Themocracy

4 Apmeklētāji tiešsaistē tagad
3 viesi, 1 botu, 0 biedri
Max Apmeklētāji šodien: 11 pie 2:18 UTC
Šajā mēnesī: 22 pie 2011/08/06 12:30 UTC
Šogad: 130 ar 28-03-2011 22:40 UTC
Visu laiku: 130 ar 28-03-2011 10:40 UTC