PHP ШАБЛОННЫЙ МЕТОД
Шаблонный метод (Template Method) это шаблон проектирования, который предлагает определенную структуру программы. Эта структура описывает алгоритм в виде абстрактого класса и делегирует часть работы его наследникам. В контексте PHP шаблонный метод используется для решения задач, связанных с однотипной обработкой данных.
В PHP для реализации шаблонного метода делаем следующее:
abstract class AbstractClass { // метод, описывающий алгоритм public function templateMethod() { // делегирование выполнения наследникам $this->primitiveOperation1(); $this->primitiveOperation2(); } // абстрактный метод, который должен быть реализован в наследниках abstract public function primitiveOperation1(); // абстрактный метод, который должен быть реализован в наследниках abstract public function primitiveOperation2();}class ConcreteClass extends AbstractClass { public function primitiveOperation1() { // реализация первой операции } public function primitiveOperation2() { // реализация второй операции }}$object = new ConcreteClass();$object->templateMethod();
В данном примере мы создали абстрактный класс AbstractClass, который содержит метод templateMethod(), определяющий шаблонный алгоритм. Также мы определили два абстрактных метода primitiveOperation1() и primitiveOperation2(), которые должны быть реализованы в наследниках.
Затем мы создали наследника ConcreteClass, который реализовал абстрактные методы primitiveOperation1() и primitiveOperation2().
Наконец, мы создали объект наследника и вызвали метод templateMethod(). При выполнении этого метода будут сначала выполнены операции, определенные в методе primitiveOperation1(). Затем будут выполнены операции, определенные в методе primitiveOperation2().
Шаблонный метод. Шаблоны проектирования: Template method.
PHP. Быстрый старт. Админ панель, авторизация. Урок 9 [GeekBrains]
Поведенческие шаблоны: шаблонный метод, реализация. \
Aсинхронный PHP / Антон Шабовта (Onliner)
PHP: почему его вечно хоронят, актуально ли его учить и чем он полезен бизнесу. Код и кофе, s4, ep 8
Aсинхронный PHP / Антон Шабовта (Onliner)
Шаблонный метод (template method). Шаблоны проектирования.