Зенд Фрамеворк по модул садржи подешавања заснована

По Стивен Лојд Ваткин , петак 1. Јануар 2010 10:40 ПМ

Направио сам следити на овај пост који захтева мање конфигурацију, погледајте модул базиран Распоред - Зенд Фрамеворк .

Када користите Зенд Фрамеворк са модулима, својим очигледно да ако користите разне (под-) сајтова ван исте апликације коју не желите исти распоред скрипте за сваки део. Одлучио сам да идем са следећим структуру сајта:

  / Примена
     / Контролери
         ...
     / Модели
     / Модула
         / Дефаулт
             / Контролери
             / Распоред
                 / Скрипте
             / Погледа
                 / Скрипте
         / АнотхерМодуле
             ...
     / Скрипте

Проблем је постављање скрипти на распоред по модулу основи. Одговор је дошао преко преко Акција помагач. Подешавање распореда на по модулу основи обухвата три корака:

  1. Апплицатион.ини (или сличне конфигурације подешавање):
      админ.ресоурцес.лаиоут.лаиоутПатх = АППЛИЦАТИОН_ПАТХ "/ модулес / Админ / распоредима / скрипте"
     дефаулт.ресоурцес.лаиоут.лаиоутПатх = АППЛИЦАТИОН_ПАТХ "/ модулес / дефаулт / распоредима / скрипте"
     мембер.ресоурцес.лаиоут.лаиоутПатх = АППЛИЦАТИОН_ПАТХ "/ модулес / члан / распоредима / скрипте"
     аффилиате.ресоурцес.лаиоут.лаиоутПатх = АППЛИЦАТИОН_ПАТХ "/ модулес / партнер / распоредима / скрипте" 
  2. Креирајте своју радњу помоћник:
      <Пхп?
     / **
      * Поставља распоред на пут по основу модула
      *
      * @ Аутор Лојд Ваткин <ллоид@евилпрофессор.цо.ук>
      * @ 2010-01-01 од
      * /
     класа Про_Цонтроллер_Ацтион_Хелпер_СетЛаиоутПатх
         проширује Зенд_Цонтроллер_Ацтион_Хелпер_Абстрацт
     {
         / **
          * Поставља распоред стаза на основу модула
          * /
         јавну функцију преДиспатцх ()
         {
        	 $ Модул = $ тхис-> гетРекуест () -> гетМодулеНаме ();
    
    	     иф ($ боотстрап = $ тхис-> гетАцтионЦонтроллер ()
    	                        -> ГетИнвокеАрг ("дизања")) {
    
    	         $ = $ Цонфиг боотстрап-> гетОптионс ();
    
    	         иф (иссет ($ цонфиг ['лаиоутПатх'] [$ модул] ['ресурса'] ['распоред'])) {
    	             $ = ЛаиоутПатх
    	                  $ Цонфиг [$ модул] ['лаиоутПатх'] ['ресурса'] ['распоред'];
    	             $ Тхис-> гетАцтионЦонтроллер ()
    	                  -> ГетХелпер ('распоред')
    	                  -> СетЛаиоутПатх ($ лаиоутПатх);
    	         }
        	 }
         }
     } 
  3. И на крају боострап акције помагач:
     ...  / ** * Подешава изглед скрипте по модулу бази * / функција заштићених _инитЛаиоутХелпер () {$ тхис-> дизања ('фронтЦонтроллер'); $ распореда = Зенд_Цонтроллер_Ацтион_ХелперБрокер:: аддХелпер (нови Про_Цонтроллер_Ацтион_Хелпер_СетЛаиоутПатх ());} .. . 

4 Респонсес то "Зенд Фрамеворк по-Модул подешавања заснована на"

  1. Бехранг каже:

    Хи прво хвала на туторијал али реците ми где да направим акцију помагач са именом вештица фајл?
    Бехранг

  2. Здраво Бехранг, креирајте помагач акције са које год име вам се допада, имам свој 'библиотеке' са Именски простор 'Про'. Потребно је само да тако лако називају "СетЛаиоутПатх" класе и стави га где год желите, под условом да код може га пронаћи и да проширите потребне класе

  3. Схасхи кантх каже:

    Здраво, ИАМ мешати са подешавањем модула специфичне базе података подешавања ... Да ли неко има идеју?

  4. Мислим да би то могло лако да се постигне усигн горе образац. Прво, направите опције у ини фајлу дуж датотеке:

    модулеНаме.дб.усер = "
    модулеНаме.дб.пассворд = "
    модулеНаме2.дб.усер = "
    ... Итд ...

    Онда једноставно генерисање везе базе података као што видите стане (Зенд_Дб:: фабрика () или слично) и залиху је на гостовању у регистар, или подесите га као подразумевани адаптера ако користите Зенд_Дб_Табле (Зенд_Дб_Табле:: сетДефаултАдаптер ()).

Допуст један Одговор













Панорама Тхеме Тхемоцраци

6 посетилаца онлине сада
3 гостију, 3 робота, 0 чланова
Максимална данас Посетиоци: 24 у 12:36 пм УТЦ
Овог месеца: 26 у 07-05-2011 12:35 пм УТЦ
Ове године: 130 у 28-03-2011 10:40 ам УТЦ
Све време: 28-03-2011 у 10:40 130 ам УТЦ