
1. リクエストをオブジェクトにカプセル化し、さまざまなリクエストを使用してクライアントをパラメータ化できるようにします。リクエストをキューまたはログに記録し、取り消し可能なアクションをサポートします。
2. コマンド抽象クラス、具体コマンドクラスなどを作成します。
コマンド抽象クラスは、操作を実行するためのインターフェイスを宣言するために使用されます。
特定のコマンド クラスは、レシーバー オブジェクトをアクションにバインドし、レシーバーの対応する操作を呼び出します。
コマンドの送信者。コマンドにこのリクエストの実行を依頼します。
コマンド受信者は、リクエストの実行に関連する操作を実行する方法を知っています。どのクラスも受信者として機能します。
特定のコマンド オブジェクトを作成し、その受信者を設定するクライアント コード。
例
<?php
// コマンド抽象クラス 抽象クラス Command{
//メソッド抽象関数Excute()を実行します。
}
//具体的なコマンド クラス - さまざまな状況に応じて複数の継承された具体的なクラスが存在する可能性があります。 class ConcreteCommand extends Command{
プライベート $Receiver;
関数 __construct(Receiver $Receiver)
{
$this->Receiver = $Receiver;
}
関数実行()
{
$this->Receiver->DoSomething();
}
}
// レシーバークラス class Receiver{
//受信側が何をする必要があるかを定義します。多くの関数が存在する可能性があります DoSomething()
{
echo "受信者は何かをします。";
}
}
// 起動者クラス Invoker{
プライベート $Command;
関数 __construct(コマンド $Command)
{
$this->コマンド = $コマンド;
}
関数アクション()
{
$this->コマンド->Excute();
}
}
//Call//呼び出し元クラスを使用せずに呼び出します $Receiver = new Receiver();
$Command = new ConcreteCommand($Receiver);
$Command->Excute();
//呼び出し側クラスを使用 $Invoker = new Invoker($Command);
$Invoker->Action();
?>以上が PHP コマンドモードの理解です。皆様のお役に立てれば幸いです。