Идентификация параметра методов php? Здравствуйте. Имеется свой шаблонизатор skn. Если кратко описать его работу - он имеет методы compl (собирает в html-шаблоне теги вида [%tag%] и присваивает им значения) и метод load который загружает html-файл в строку для дальнейшей обработки. Этот шаблонизатор меня полностью устраивает, но возникла потребность идентификации методов compl. Нример если взять один из классов-модулей моей cms, - Main. Здесь есть три метода compl которые нужно идентифицировать и как-то передать третий параметр идентичный имени параметру из метода load('main.tpl'); То есть должно быть так: $this->skn->compl('[%info%]', 'INFORM', 'main.tpl'); $this->skn->compl('[%content%]', 'CONTENT', 'main.tpl'); $this->skn->compl('[%footer%]', 'FOOTER. 'main.tpl'); Можно этот третий параметр прописывать в ручную, но если таких методов compl десятки и больше и 'main.tpl' нужно постоянно добавлять и повторять - это будить не правильно. Вопрос: Как методам compl можно передать третий параметр идентичный с именем параметра метода load('main.tpl'), который в еще добавок выполняется самом конце после всех compl ?
Для того чтобы передать третий параметр, идентичный имени параметра метода load('main.tpl'), вы можете создать свойство в классе, которое будет хранить значение этого параметра. Затем в методе load('main.tpl') вы присваиваете это значение свойству, а затем в методах compl используете значение этого свойства как третий параметр. Например:
class Main { private $template; public function load($templateName) { $this->template = $templateName; // загрузка html-файла } public function compl($tag, $value) { $this->skn->compl($tag, $value, $this->template); } }
Теперь при вызове методов load и compl у объекта класса Main третий параметр будет автоматически передаваться идентичный имени параметра метода load.
Для того чтобы передать третий параметр, идентичный имени параметра метода load('main.tpl'), вы можете создать свойство в классе, которое будет хранить значение этого параметра. Затем в методе load('main.tpl') вы присваиваете это значение свойству, а затем в методах compl используете значение этого свойства как третий параметр. Например:
class Main {private $template;
public function load($templateName) {
$this->template = $templateName;
// загрузка html-файла
}
public function compl($tag, $value) {
$this->skn->compl($tag, $value, $this->template);
}
}
Теперь при вызове методов load и compl у объекта класса Main третий параметр будет автоматически передаваться идентичный имени параметра метода load.
Пример использования:
$main = new Main();$main->load('main.tpl');
$main->compl('[%info%]', 'INFORM');
$main->compl('[%content%]', 'CONTENT');
$main->compl('[%footer%]', 'FOOTER');
Таким образом, третий параметр в методах compl будет автоматически передаваться идентичный имени параметра метода load.