Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 15.12.2005 Ostrzeżenie: (0%)
|
Witajcie.
Zastanawiam się nad tym czy istnieje w ZF jakaś możliwość realizowania przepływu danych w obu kierunkach pomiędzy kontrolerami. Chodzi mi o możliwość wykorzystania funkcjonalności istniejących modułów aplikacji. Prosty przykład: a) moduł mailing - zarządza lista mailngowymi, treściami mail etc, wysyła pocztę itp. (IMG:style_emoticons/default/cool.gif) moduł users - którego kontrolery pozwalają na zarządzanie użytkownikami. Teraz pytanie: jak ułatwić sobie życie i wykorzystać funkcjonalność modułu mailing np w procesie odzyskiwania hasła przez użytkownika. Czyli przykładowy request na moduł użytkownika /users/account/password-restore powinien wysłać email który pozwoli na odzyskanie hasła, po co tworzyć nową obsługę mailngu skoro ona już zaimplementowana w module mailing wystarczyło by pobrać z niego odpowiednią treść wiadomości, instancję transportera i wysłać wiadomość, po co powielać kod w module users. Problem jednak polega na tym, że nie bardzo jest możliwość odebrania danych przetworzonych przez kontroler z pominięciem warstwy widoku. Majcie jakieś doświadczenie lub pomysły na rozwiązanie tego problemu? Pozdrawiam pawella. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 15.12.2005 Ostrzeżenie: (0%)
|
Zgodzę się z Wami ale mam dwa ale (IMG:style_emoticons/default/smile.gif)
Po pierwsze całą logikę musimy zapakować do modelu, czyli rzeczy za które odpowiadać powinien raczej kontroler w module mailing takie jako pobranie odpowiedniego wzorca treści wiadomości, np w wymaganym języku, podstawienie właściwych danych, dołączenie odpowiednich załączników, muszę zapakować w model, lub dublować akcje w kontrolerze modelu users, czego właśnie chcę uniknąć. Druga rzecz, to po co pakować do rejestru obiekty które wykorzystywane są sporadycznie, skoro mogą być inicjowane poprzez kontroler właściwego modułu, oczywiście zawsze możemy zrobić singleton a więc więc dalej rozszerzamy logikę modelu. Pozostaje jeszcze problem z związany z tym, że jeżeli chcemy użyć modelu z różnych modułów, z pominięciem requestów do kontrolerów, należało by do Zend_Loader_Autoloader dodać wszystkie resource z danymi modelami, lub ładować klasy ręcznie. Odwołując się poprzez Dispather można utworzyć odpowiedni plugin który doda Autoloadera tylko resources modułu którego rządanie dotyczy. Wówczas autoloader będzie miał mnie przestrzeni do przeszukania, tym samym wydajność całej aplikacji będzie lepsza. Pozdrawiam. |
|
|
|
pawella [ZF] Przepływ danych pomiędzy modułami / kotrolerami 25.09.2009, 10:09:59
nospor źle myślisz.. znaczy po częsci dobrze, ze nie ma c... 25.09.2009, 10:19:23
LBO Tak jak pisze nospor. Moduł mailingu udostępnią ja... 25.09.2009, 10:40:36
seth-kk Zawsze mozesz dziedziczyc po Zend_Mail dodac wlasn... 25.09.2009, 17:32:53
LBO Cytat(pawella @ 25.09.2009, 18:00:57 ... 25.09.2009, 19:33:44 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 23:14 |