1. Encapsulez la requête dans un objet, permettant d'utiliser différentes requêtes pour paramétrer les clients. Mettez en file d'attente ou enregistrez les demandes et prenez en charge les actions annulables.
2. Composez des classes abstraites de commandes, des classes de commandes concrètes, etc.
La classe abstraite de commande est utilisée pour déclarer l’interface permettant d’effectuer des opérations.
Une classe de commande spécifique lie un objet récepteur à une action et appelle l'opération correspondante du récepteur.
L'expéditeur de la commande, demandant à la commande d'exécuter cette requête.
Un récepteur de commandes sait comment effectuer les opérations liées à l'exécution d'une requête. N'importe quelle classe peut servir de récepteur.
Code client qui crée un objet de commande spécifique et définit son récepteur.
Exemple
<?php //Command classe abstraite classe abstraite Commande{ //Exécuter la fonction abstraite de la méthode Excute(); } //Classe de commande concrète - il peut y avoir plusieurs classes concrètes héritées en fonction de différentes situations. La classe ConcreteCommand étend la commande{ récepteur $ privé ; fonction __construct(Récepteur $Récepteur) { $this->Récepteur = $Récepteur ; } fonctionExcute() { $this->Récepteur->DoSomething(); } } //Classe de classe Récepteur Récepteur{ //Définissez ce que le récepteur doit faire, il peut y avoir de nombreuses fonctions DoSomething() { echo "Le récepteur fait quelque chose."; } } //Invoker de classe Invoker{ Commande $ privée ; fonction __construct(Command $Command) { $this->Command = $Command; } fonctionAction() { $this->Command->Excute(); } } //Appeler//Appeler sans utiliser la classe appelante $Receiver = new Receiver(); $Command = new ConcreteCommand($Receiver); $Command->Excute(); //Utilisez la classe appelante $Invoker = new Invoker($Command); $Invoker->Action(); ?>
Ce qui précède est la compréhension du mode commande PHP, j'espère que cela sera utile à tout le monde.