Witam.
Postanowiłem przebudować mój aktualny system CMS i stworzyć nowy system szablonowy oparty o Composite View.
Jestem na etapie projektowania i chciałbym dodać funkcjonalność pomocników w warstwie widoku.
Jestem ciekawy, jak radzicie sobie z zakresem widoczności helperów i innych klas w systemie.
Przypuśćmy, że klasa widoku zwie się View. Posiada ona metodę render() do parsowania pliku z szablonem. Plik ten jest następnie ładowany poprzez include().
Wszystkie klasy w systemie są automatycznie ładowane poprzez funkcję __autoload(). Tu powstaje właśnie pewien problem, ponieważ w szablonie mamy w ten sposób dostęp do wszystkich klas w systemie, jak i zmiennych globalnych, do których dostępu mieć nie powinniśmy, oprócz wspomnianych helperów.
Jak byście ograniczyli dostęp tylko i wyłącznie do helperów z szablonu?