Chcę oddzielić logikę (PHP, SQL) od wyglądu (HTML...) w nowej wersji systemu CMS. Jest jednak kilka kwestii. Najważniejsza jest szybkość i wydajność, a także małe zużycie pamięci RAM. CMS jest napisany strukturalnie, ale korzysta z obiektowego PDO do baz danych. Dotychczas wszystkie moduły ładowały się dopiero w <body>, więc zmiana <title> (w zależności od wyświetlanej podstrony) była niemożliwa.
Najprostszy przykład
Przed <html> dołączam plik logiki modułu, zaś w <body> główny szablon (layout) wyświetla szablon modułu. Nad tym czuwa index.php (front kontroler). Są jednak sytuacje wyjątkowe, np.
- Użycie większej ilości szablonów - myślę, że include() wystarczy.
- Moduł komentarzy - obecnie nie jest opakowany w funkcję lub klasę.
- Wyświetlanie informacji - np. "zapisano artykuł", "brak głosów w sondzie" (dodatkowo: z linkami poniżej, np. "przejdź do artykułu").
Szczegóły można przeczytać na grupie dyskusyjnej, gdzie te problemy opisałem dokładniej z przykładami.
Czy abstrakcja modułów lub szablonów (czyli użycie klas) jest wymagane lub znacznie ułatwi pracę?