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


















































Хи прво хвала на туторијал али реците ми где да направим акцију помагач са именом вештица фајл?
Бехранг
Здраво Бехранг, креирајте помагач акције са које год име вам се допада, имам свој 'библиотеке' са Именски простор 'Про'. Потребно је само да тако лако називају "СетЛаиоутПатх" класе и стави га где год желите, под условом да код може га пронаћи и да проширите потребне класе
Здраво, ИАМ мешати са подешавањем модула специфичне базе података подешавања ... Да ли неко има идеју?
Мислим да би то могло лако да се постигне усигн горе образац. Прво, направите опције у ини фајлу дуж датотеке:
модулеНаме.дб.усер = "
модулеНаме.дб.пассворд = "
модулеНаме2.дб.усер = "
... Итд ...
Онда једноставно генерисање везе базе података као што видите стане (Зенд_Дб:: фабрика () или слично) и залиху је на гостовању у регистар, или подесите га као подразумевани адаптера ако користите Зенд_Дб_Табле (Зенд_Дб_Табле:: сетДефаултАдаптер ()).