Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ZF] Powiązania między modelami w różnych modułach
MarcinTryka
post
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 31.03.2007

Ostrzeżenie: (0%)
-----


Buduję aplikacje modułową. Podstawowym wymogim jest prędkość instalacji, wprowadzania zmian. Chciałbym aby podpięcie nowego modułu nie trwało dłużej niż skopiowanie folderu + odpalenie skryptu instalacyjnego. I teraz załóżmy że moduł ma być powiązany z już istniejącym. Jak załatwić sprawę referencji między tabelami? Czy mam odpuscić referencje, czy da się to jakoś rozwiązać?
-- EDIT--
Czy może jeśli instaluje nowy moduł to powinienem parsować model i dodawać do pliku z obietem już istniejacego modelu linijkę tekstu, czy może kazdy model w metodzie init powinien sprawdzać czy nie ma jakichś dodatkowych referencji? Zrobić jakąś jedną tablicę w bazie w której będzie sprawdzał czy ma jakieś dodatowe referencje i dodawał do tablicy? trochę boje się takich operacji ze względu na wydajność, bo to ma byc masówka i im więcej da się tego odpalić na jednym serwerze tym wieksze będą z tego zyski.

Ten post edytował MarcinTryka 19.11.2008, 14:01:24
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
karmer
post
Post #2





Grupa: Zarejestrowani
Postów: 23
Pomógł: 2
Dołączył: 3.09.2008
Skąd: Kętrzyn

Ostrzeżenie: (0%)
-----


Witam.
Ja to rozwiązałem w taki sposób:
W obiekcie actioncontrollera uruchamiam obiekt, który nazwałem objectController. Obiekt ten odczytuje z katalogu moich modułów klasy modułów i tworzy ich instancję. Zapisuje je w swoim prywatnym atrybucie (tablica) 'modules'. Obiekt objectController przekazuje siebie ($this) do każdego modułu jaki stworzy.

W każdym module mam wtedy możliwość wywołania jakiejkolwiek metody dowolnego modułu utworzonego przez objectControllera. Wywołanie metody wygląda w praktyce mniej więcej tak:

$wynik_metody = $objectController->get('nazwa_modulu')->metodaModulu();

Sprawdzone i działa.

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: 7.01.2026 - 08:54