Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZF] Przepływ danych pomiędzy modułami / kotrolerami, Jak wykorzystać funkcjonalności istniejących kontrolerów?
pawella
post
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.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pawella
post
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.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 27.12.2025 - 23:14