
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, надеюсь, оно будет полезно всем.