@KTG

Какие способы релизации шаблонов и хуков есть в PHP?

Я знаю что есть гугл, есть книжки и есть код. Не углубляясь в вопрос, я мельком нашел пару статей которые больше запутали, или кажутся не совсем правильными.

Поэтому хотелось бы спросить объяснения на пальцах и простыми словами.
Примеры приветствуются.

1. Как реализовать применение шаблонов?
2. Как реализовать хуки?

Знаю например что можно делать шаблоны через буфер.
Т.е. формировать страницу, помещать в буфер, там её изменять и потом уже выводить. ob_start, ob_get_contents().

А вот с хуками сложнее. Как можно в коде написать функцию и дать возможность пользователю самому добавлять код который будет выполняться до неё, или после. Единственный способ который я представляю - парсить файлы и компилировать итог в отдельный php файл, который потом и будет исполняться.
  • Вопрос задан
  • 251 просмотр
Пригласить эксперта
Ответы на вопрос 2
@shell_execute
Используйте диспетчеризацию событий.
Например - https://github.com/symfony/event-dispatcher
Сделайте себе 2 ивента - beforeCall и afterCall. Вот и всё :)
Ответ написан
index0h
@index0h
PHP, Golang. https://github.com/index0h
Хуки можете сделать так: получаете список всех зарегистрированных функций, фильтруете их по названию, те что подошли - выполняете.

Но это путь в никуда и так делать не стоит.

На счет кода до и после - очень странный кейс и тоже оооочень хреновый, так делать нельзя.

Получаете список токенов через token_get_all далее находите вызов конкретно вашей функции то, что до и после конкатенируете. Далее выполняете то что вам надо и в eval.

Но еще раз это пример ужасного подхода и так писать нельзя.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽