Guide de démarrage PHP : modèle de commande
Le modèle de commande est un modèle de conception comportemental qui vous permet d'encapsuler des opérations sous forme d'objets. Dans ce modèle, l'exécutant de la commande transmet une série de paramètres au récepteur de commande et déclenche l'exécution. Dans cet article, nous aborderons les bases et des exemples de modèles de commandes PHP.
Le modèle de commande peut vous aider à créer un code hautement découplé, plus facile à maintenir et à étendre. Dans ce modèle, l'interface de commande définit la méthode pour exécuter la commande, et chaque commande spécifique est son implémentation concrète.
Voici les éléments clés du modèle de commande :
Interface de commande : Une méthode qui définit l'opération à effectuer. Définit éventuellement les paramètres de la méthode et le type de retour.
Receiver : Implémente l'exécution réelle de l'opération. Il accepte les commandes et les exécute.
Commande spécifique : L'implémentation spécifique de la classe qui implémente l'interface de commande.
Client : Le code qui pilote l'application. Il crée des commandes spécifiques et les transmet au destinataire.
Utilisons un exemple simple pour illustrer comment implémenter un modèle de commande en PHP. Supposons que vous construisiez un robot d'exploration Web en ligne de commande dans lequel vous devez encapsuler diverses tâches d'analyse dans des commandes. Vous pouvez définir une interface de commande :
interface Command { public function execute(); }
Ensuite créer une classe de commande spécifique :
class CrawlWebPageCommand implements Command { private $url; public function __construct($url) { $this->url = $url; } public function execute() { // 实现爬虫逻辑 echo "Crawling " . $this->url . " "; } } class IndexWebPageCommand implements Command { private $url; public function __construct($url) { $this->url = $url; } public function execute() { // 实现索引逻辑 echo "Indexing " . $this->url . " "; } }
Vient ensuite le récepteur, nous allons simplement définir une classe de console pour accepter la commande et l'exécuter eux :
class Console { public function execute(Command $command) { $command->execute(); } }
Maintenant, nous pouvons créer un client pour utiliser ces classes :
$console = new Console; $command1 = new CrawlWebPageCommand("https://example.com"); $command2 = new IndexWebPageCommand("https://example.com"); $console->execute($command1); $console->execute($command2);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!