1. Istnieje główny szablon opisujący cały układ strony, czyli <html>, <head>, <body>
2. Główny szablon dołącza szablony modułów (np. newsy, artykuł, komentarze)
3. Można dołączyć dowolną liczbę szablonów (np. artykuł, a potem podsystem komentarzy)
Aktualnie przekazanie danych do szablonu wewnątrz modułu odbywa się tak:
Wewnątrz index.php dołączanie głównego szablonu:
$szablony->plik[] = 'nazwa_pliku'; 'artykul' => &$artykul, 'strony' => &$strony 'innazmienna' => $innazmienna );
Wszystko działa. Chcę ulepszyć system szablonów, aby kod stał się bardziej przejrzysty, ale bez dodatkowego narzutu czasowego i pamięciowego. Pojawiają się pytania:
include $szablony->sciezka('body');
1. Czy szablony powinny mieć dostęp do wszystkich danych przekazanych do pola $szablony->dane, czy powinno się przekazywać dane konkretnym szablonom (inne nie miałyby do nich dostępu)?
2. Obecnie główny szablon jest wywoływany w przestrzeni globalnej, czyli ma dostęp do wszystkich zmiennych zadeklarowanych globalnie. Nie przekazuje mu się żadnych danych do obiektu, lecz tworzy zmienne w index.php. Chcę to zmienić. Jakiś pomysł?
3. Trzeba wykryć, kiedy dołączyć szablon modułu, a kiedy wyświetlić szablon błędu 404 "strona nie istnieje". Obecnie w index.php:
Nietypowe rozwiązanie, ale za to w modułach wystarczy zwykła instrukcja "return"
(include 'modul.php') or $szablony->ustaw404();

4. Nie mogę stworzyć takiej listy: główny szablon, szablon modułu 1, szablon modułu 2... bo najpierw dołączy się szablon główny z pustą zawartością, a po zamknięciu </html> pozostałe szablony. Jest na to kilka technik, a jaką polecacie w tym przypadku?
Wcześniej było tak i wszystko działało: http://pastebin.com/6Sx8hLkE
Zacząłem zmiany - obecnie wygląda to tak: http://pastebin.com/cpHDGcTZ
A wtedy moduły przekazują szablonom dane tak - pewnie nie jest to najlepszy pomysł:
Co zmienić, co ulepszyć, a może zmiany są niepotrzebne, jeśli wszystko działa?