1. Kapseln Sie die Anfrage in ein Objekt, sodass verschiedene Anfragen zur Parametrisierung von Clients verwendet werden können. Stellen Sie Anfragen in die Warteschlange oder protokollieren Sie sie und unterstützen Sie rückgängig zu machende Aktionen.
2. Erstellen Sie abstrakte Befehlsklassen, konkrete Befehlsklassen usw.
Die abstrakte Befehlsklasse wird verwendet, um die Schnittstelle zum Ausführen von Operationen zu deklarieren.
Eine bestimmte Befehlsklasse bindet ein Empfängerobjekt an eine Aktion und ruft die entsprechende Operation des Empfängers auf.
Der Absender des Befehls, der den Befehl auffordert, diese Anfrage auszuführen.
Ein Befehlsempfänger weiß, wie er Operationen im Zusammenhang mit der Ausführung einer Anfrage ausführt. Jede Klasse kann als Empfänger dienen.
Clientcode, der ein bestimmtes Befehlsobjekt erstellt und seinen Empfänger festlegt.
Beispiel
<?php //Befehl abstrakte Klasse abstrakter Klassenbefehl{ //Abstrakte Funktion der Methode ausführen Excute(); } //Betonbefehlsklasse – es kann je nach Situation mehrere geerbte Betonklassen geben. Klasse ConcreteCommand erweitert Command{ privater $Receiver; Funktion __construct(Receiver $Receiver) { $this->Receiver = $Receiver; } functionExcute() { $this->Receiver->DoSomething(); } } //Receiver-Klasse class Receiver{ // Definieren Sie, was der Empfänger tun muss. Es kann viele Funktionen geben. DoSomething () { echo „Empfänger tut etwas.“; } } //Invoker-Klasse Invoker{ privater $Befehl; Funktion __construct(Command $Command) { $this->Command = $Command; } functionAction() { $this->Command->Excute(); } } //Anruf//Anruf ohne Verwendung der Anruferklasse $Receiver = new Receiver(); $Command = new ConcreteCommand($Receiver); $Command->Excute(); //Die Aufruferklasse verwenden $Invoker = new Invoker($Command); $Invoker->Action(); ?>
Das Obige ist das Verständnis des PHP-Befehlsmodus. Ich hoffe, es wird für alle hilfreich sein.