![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 0 Dołączył: 31.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam problem z pisaniem wiekszych aplikacji w ZF. Np. Logowanie. Wszedzie w tutorialach, poradnikachh jest to rozwiazane tak: budujemy LogujController - ZalogujAction - WylogujAction - FormularzAction - HelloAction I wchodze zeby sie zalogowac na strone www.adresdtrony.pl/loguj/formularz/ ... tylko kto tak robi. Z reguły na jednej stronie w wiekszych serwisach jest cała masa róznych rzeczy, a nie jedna strona do jednego. Dajmy na to że mam strone. Po lewej mam boxy z róznymi rzeczami (menu, formularz logowania/informacje o zalogowanym, ostatnie wiadomosci z forum itp ...). Po prawe mam to co zależy od wybranej strony, czyli np. Forum, Strona główna, Aktualności, Ogłoszenia... Czyli mam takie kontrollery jak ForumController. AktualnosciController ... Jak to zintegrować? Żeby się wszystko ładnie razem wyświetlało i żebym nie musiał w 10 kontrolerach powtarzać tego samego kodu dotyczącego logowania. A już ideałem by było żebym mógł np. w bazie zapisać kolejność takich boxów w menu, każdemu przyporządkować jakis moduł, trzymać to w bazie danych, a przy uruchomieniu aplikacji tylko odczytywać z bazy kolejne moduły i dołączać odpowiednie kawałki kodu. Jesli chodzi o widok, to sobie poradze, nie wiem natomiast jak w jednym kontrolerze uzyć drugiego? . W tradycyjnym programowaniu to banalne, a ZF (lub raczej moja niewiedza) mnie tu ogranicza. Chcę budować aplikacje (wortal) który będę z cały czas rozbudowywał. Takie "modułowe" podejście bardzo ułatwiłoby mi dodawanie nowych funkcji. oraz zarządzaniem istniejącymi Proszę o radę lub jakieś linki. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
W ZF stworzyłem podwaliny pod prawdziwą aplikację - czyli obsługę błędów, zarządzanie plikami konfiguracji, połączenie z bazą danych, logowanie i administrację. Teraz wszystko się sprowadza do developerki modułów. W pewnym momencie natknąłem się na Twój problem - tak naprawdę to natychmiast, gdyż miałem doświadczenie np. Z CakePHP - i rozwiązałem go za pomocą helperów (lub wg nieszczęsnego tłumaczenia manuala - pomocników) widoku. Dodatkowo posiadam autorski sposób dodawania layoutów jako plugin do front controllera (kontrolera frontowego, bleh). Pluginy takie, to zdecydowanie najbardziej niedoceniona przez społeczność i twórców ZF część frameworka.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 4 465 Pomógł: 137 Dołączył: 26.03.2004 Skąd: Gorzów Wlkp. ![]() |
NIe jestem pewien, czy nie palnę głupoty, bo ZF znam tylko z opisu, kodu który czytałem i dokumantacji. W ZF jak i w innych tego typu frameworkach (CI, Cake) - możesz to zrobić tylko siłowo - czyli dołaczyć widok ( tzw partial) do widoku głównego bezpośrednio w jego kodzie. Niestety nie istnieje żaden mechanizm zarządzania logiką tych dołączeń (np. wykonywanie kodu akcji).
Pozdrawiam. -------------------- To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness; chaotic, confused, vulnerability, to inform yourself. Think for yourself. Question authority. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 10 Dołączył: 20.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Widać mało znacie ZF.
Oprócz widoków możemy tworzyć layouty w których umieszczasz swoje boxy, i zamiast po 10 razy przepisywać kod, tworzysz sobie helper który może Ci generować zawartość innego kontrollera, w helperze poprostu dajesz dispatch, określasz trasę parametry a na koniec getBody, dzięki temu łączysz się z jakim chcesz kontrolerem i z jaką chcesz akcją. Przyczym loginka aplikacji jest zachowana czyli MVC. Dzięki ustalonej trasie routera i odpowiednich parametrów generują Ci się odpowiednie boxy, czyli np. jeśli jesteś zalogowany wyświetli Ci się panel konta, a jeśli nie to box z formularzem logowania. Chwilowo Zend_Layout jest jeszcze w incubator ale ja go używam i narazie nie ma żadnych problemów z layoutami. Warunki parametrów sprawdzasz sobie w kontrolerze, a helper będzie Ci służył jedynie do łączenia się z innym kontrolerami i pobieraniem odpowiedzi. ZF to naprawdę świetny framework, warto mu się głębiej przyjżeć. Zacznij od tego http://framework.zend.com/apidoc/core/. Jeśli nadal nie będziesz wiedział co i jak, to daj znać na priv a wstawie na bloga artykuł o tym. |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
@eai kto się nie zna, ten się nie zna
![]() Pozdrawiam, LBO. P.S. Zend_Layout w inkubatorze? No chyba nie każesz nikomu tego używać? |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 10 Dołączył: 20.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
@LBO sorki bo pominąłem twój wątek. faktycznie to jest to samo
![]() /sorka i bez urazy ![]() |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 415 Pomógł: 117 Dołączył: 7.09.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Co do Zend_Layout, rozumiem, że zdobyłeś gdzieś kod? Przejrzałem pobieżnie Nabble i wiki, ale nie znalazłem.
Podzieliłbyś się linkiem ![]() |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 367 Pomógł: 10 Dołączył: 20.05.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zend_Layout: zip / zip
Przykłady różnego użycia: zip / rar A potem możesz jako plugin lub w bootscrapie, nie wiem jak to masz napisane każdy piszę jak lubi ![]()
A tutaj link skąd wszystko wziąłem: http://framework.zend.com/wiki/display/ZFP...CommentId=38281 |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 204 Pomógł: 0 Dołączył: 26.12.2003 Skąd: Rzeszów Ostrzeżenie: (0%) ![]() ![]() |
Ja także rozwiązałem ten problem używając Zend_Layout, zaproponowałem także autorowi pewnie ulepszenia. W tej chwili Zend_Layout jest przepisywany na nowo, co nie oznacza, że nie można używać wersji 1.4, która sprawuje się bardzo dobrze.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:19 |