1. Encapsular a solicitação em um objeto, permitindo que diferentes solicitações sejam utilizadas para parametrizar clientes. Enfileirar ou registrar solicitações e oferecer suporte a ações que podem ser revertidas.
2. Compor classes abstratas de comando, classes de comando concretas, etc.
A classe abstrata de comando é usada para declarar a interface para executar operações.
Uma classe de comando específica vincula um objeto receptor a uma ação e chama a operação correspondente do receptor.
O remetente do comando, solicitando que o comando execute esta solicitação.
Um receptor de comando sabe como realizar operações relacionadas à execução de uma solicitação. Qualquer classe pode servir como receptor.
Código do cliente que cria um objeto de comando específico e define seu receptor.
Exemplo
<?php //Comando classe abstrata classe abstrata Comando{ //Executa a função abstrata do método Excute(); } //Classe de comando concreto - pode haver múltiplas classes concretas herdadas de acordo com diferentes situações class ConcreteCommand extends Command{ receptor $ privado; função __construct(Receptor $Receptor) { $this->Receptor = $Receptor; } funçãoExcute() { $this->Receptor->DoSomething(); } } //Classe receptora classe Receiver{ //Defina o que o receptor precisa fazer, pode haver muitas funções DoSomething() { echo "Receptor faz alguma coisa."; } } //Invocador da classe Invocador{ comando $ privado; função __construct(Comando $Comando) { $este->Comando = $Comando; } funçãoAção() { $this->Command->Excute(); } } //Ligar//Ligar sem usar a classe chamadora $Receiver = new Receiver(); $Command = new ConcreteCommand($Receptor); $Command->Excute(); //Use a classe chamadora $Invoker = new Invoker($Command); $Invoker->Ação(); ?>
O texto acima é a compreensão do modo de comando PHP, espero que seja útil para todos.