Идентификация параметра методов 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 ?

21 Авг 2019 в 07:05
197 +1
0
Ответы
1

Для того чтобы передать третий параметр, идентичный имени параметра метода 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.

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 96 091 автору
Первые отклики появятся уже в течение 10 минут
Прямой эфир