Трудно сформулировать сразу вопрос, я опишу проблему.
Есть классы и у них есть свои свойства, например имя пользователя и другие данные.
class User{
private $_name;
public function getName(){
return $this->_name;
}
}
Есть класс, который выбирает нужный шаблон и открывает его.
class PageSelect{
# передаются данные из get запроса, получаю название нужного шаблона
public function getTpl(){
require_once($_SERVER['DOCUMENT_ROOT'].'/tpl/' . $this->tmpl . '.tpl');
}
}
Получается, что ранее созданные объекты, например
$userName = new User(); использовать в шаблоне нельзя, область видимости не позволяет. И тут я понимаю, что делать статические классы - неправильно, глобальный доступ - неправильно, нужно 1. либо подключать шаблоны в самом
main, чтобы область видимости было для всего, или 2. передавать в
PageSelect все нужные свойства для вывода их на страницу. Как это делать? Создать массив и во всех методах пихать туда все свойства? Вдруг я захочу выводить что-то. Как быть? Как правильнее это делать, не понимаю.