У меня есть сайт php, который работает, как показано ниже. Пожалуйста, обратите внимание, что я пропускаю большую часть кода (везде, где есть эллипсы).
index.php
include template.php
...
$_template = new template;
$_template->load();
...
template.php
class pal_template {
...
public function load() {
...
include example.php;
...
}
example.php
...
global $_template;
$_tempalate->foo();
...
Теперь это работает отлично. Тем не менее, я получаю массу файлов, которые отображаются с помощью метода $ _template-> load (), и в каждом из этих файлов я хотел бы иметь возможность использовать другие методы в классе шаблона.
Я могу вызывать global $ _template в каждом файле, и тогда все будет работать нормально, но если это возможно, я бы очень хотел, чтобы объект $ _template был доступен без необходимости помнить, чтобы объявить его глобальным.
Можно ли это сделать, и как лучше всего это сделать?
Моя цель состоит в том, чтобы сделать эти файлы, загружаемые через класс шаблона, очень простыми и легкими в использовании, так как их, возможно, придется настраивать людям, которые практически ничего не знают о PHP и которые, возможно, забудут поставить глобальный $ _template перед пытаясь использовать любой из методов $ _template. Если бы $ _template уже был доступен в example.php, моя жизнь была бы намного проще.
Спасибо!