1. Инкапсулируйте запрос в объект, позволяя использовать различные запросы для параметризации клиентов. Ставьте в очередь или регистрируйте запросы и поддерживайте действия, которые можно отменить.
2. Составьте абстрактные классы команд, конкретные классы команд и т. д.
Абстрактный класс команды используется для объявления интерфейса для выполнения операций.
Определенный класс команд привязывает объект-получатель к действию и вызывает соответствующую операцию получателя.
Отправитель команды, запрашивающий команду выполнить этот запрос.
Получатель команды знает, как выполнять операции, связанные с выполнением запроса. Получателем может выступать любой класс.
Клиентский код, который создает определенный объект команды и устанавливает его получателя.
Пример
<?php //Команда абстрактного класса абстрактного класса Command{ //Выполнение абстрактной функции метода Excute(); } //Конкретный класс команды - может быть несколько унаследованных конкретных классов в зависимости от различных ситуаций class ConcreteCommand расширяет команду{ частный $Receiver; функция __construct (Получатель $Receiver) { $this->Receiver = $Receiver; } функцияВыполнить() { $this->Receiver->DoSomething(); } } //Класс получателя class Receiver{ //Определяем, что должен делать получатель, функций может быть много DoSomething() { echo "Получатель сделает что-нибудь."; } } //Инвокер класса Invoker{ частная $команда; функция __construct (команда $Command) { $this->Command = $Command; } функцияДействие() { $this->Command->Excute(); } } //Вызов //Вызов без использования вызывающего класса $Receiver = new Receiver(); $Command = новая ConcreteCommand($Receiver); $Команда->Выполнить(); //Используем вызывающий класс $Invoker = new Invoker($Command); $Invoker->Действие(); ?>
Вышеизложенное представляет собой понимание командного режима PHP, надеюсь, оно будет полезно всем.