Tylko jak go połączyć z ładowarką modułów. Przykładowy moduł Artykuły:
Kod
- Control
| - Category
| - Edit.php
| - List.php
| - View.php
| - Article
| - Edit.php
| - List.php
| - View.php
// Każdy controler to oddzielna podstrona.
// Jeśli bym chciał potwierdzać edycję, wsadziłbym Edit.php do folderu i dodał plik Confirm.php
- Model
| - ORM ( Propel )
| - Category
| - [Control/Category/]
| - Article
| - [Control/Article/]
| - Config
| - Config.php
| - settings.php <- Trzymam ustawienia modułu.
- View
| - RSS.php
| - Default.php
Klasa silnika Loader, ładuje mi konkretny kontroler. Następnie Model i na końcu widok, którego nazwa jest zwrócona przez kontroler. Loader sam rozróżnia którą klasę załadować poprzez dostęp do Router'a. Obecnie Loader pobiera biblioteki poprzez Instance::Get('module.article.control.list' [etc.] ), który jest połączeniem rejestru z abstract factory.| - Category
| - Edit.php
| - List.php
| - View.php
| - Article
| - Edit.php
| - List.php
| - View.php
// Każdy controler to oddzielna podstrona.
// Jeśli bym chciał potwierdzać edycję, wsadziłbym Edit.php do folderu i dodał plik Confirm.php
- Model
| - ORM ( Propel )
| - Category
| - [Control/Category/]
| - Article
| - [Control/Article/]
| - Config
| - Config.php
| - settings.php <- Trzymam ustawienia modułu.
- View
| - RSS.php
| - Default.php
Dzięki temu każda wtyczka / dodatek może wykorzystać już załadowany kontroler, model lub widok, a nawet pobrać i wykonać inny.
Przykładowo jesteśmy na stronie z konkretnym artykułem, a wtyczka pobiera nam listę artykułów i wyświetla wynik w panelu bocznym.
No i teraz moje pytanie. Jak mam wpasować tutaj kontekst?