ホームページ バックエンド開発 PHPチュートリアル compose php デザインパターン 複合組み合わせパターン

compose php デザインパターン 複合組み合わせパターン

Jul 29, 2016 am 08:45 AM
compose

复制代码代码如下:


/**
* 結合モード
*
* オブジェクトをツリー構造に結合して「部分全体」の階層を表すことで、顧客は単一オブジェクトと複合オブジェクトを一貫して使用できるようになります
*/
抽象クラスMenuComponent
{
public function add($component){}
public function Remove($component) {}
public function getName(){}
public function getUrl(){}
public function display(){}
}
class Menu extends MenuComponent
{
private $_items = array();
プライベート $_name = null;
パブリック関数 __construct($name)
{
$this->_name = $name;
}
パブリック関数 add($component)
{
$this->_items[] = $component;
}
パブリック関数 Remove($component)
{
$key = array_search($component,$this->_items);
if($key !== false) unset($this->_items[$key]);
}
public function display()
{
echo "-- ".$this->_name." ---------
";
foreach($this->_items as $item)
{
$item->display();
}
}
}
class 項目は MenuComponent を拡張します
{
private $_name = null;
プライベート $_url = null;
パブリック関数 __construct($name,$url)
{
$this->_name = $name;
$this->_url = $url;
}
public function display()
{
echo $this->_name."#".$this->_url."
";
}
}
クラスクライアント
{
private $_menu = null;
パブリック関数 __construct($menu)
{
$this->_menu = $menu;
}
パブリック関数 setMenu($menu)
{
$this->_menu = $menu;
}
パブリック関数displayMenu()
{
$this->_menu->display();
}
}
// 实例一下
// 创建menu
$subMenu1 = new Menu("sub menu1");
$subMenu2 = 新しいメニュー("サブメニュー2");
$subMenu3 = 新しいメニュー("サブメニュー3");
$item1 = 新しいアイテム("163","www.163.com");
$item2 = 新しいアイテム("sina","www.sina.com");
$subMenu1->add($item1);
$subMenu1->add($item2);
$item3 = 新しいアイテム("baidu","www.baidu.com");
$item4 = 新しいアイテム("google","www.google.com");
$subMenu2->add($item3);
$subMenu2->add($item4);
$allMenu = new Menu("すべてのメニュー");
$allMenu->add($subMenu1);
$allMenu->add($subMenu2);
$allMenu->add($subMenu3);
$objClient = 新しいクライアント($allMenu);
$objClient->displayMenu();
$objClient->setMenu($subMenu2);
$objClient->displayMenu();

上記は、compose php デザイン モードを介して作成された複合結合モードであり、compose 面の内容が含まれており、PHP 教則に関心のある友人の助けになることが望まれます。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

React と Docker Compose を使用して複雑なフロントエンドおよびバックエンド アプリケーションをデプロイする方法 React と Docker Compose を使用して複雑なフロントエンドおよびバックエンド アプリケーションをデプロイする方法 Sep 26, 2023 am 10:17 AM

React と Docker Compose を使用して複雑なフロントエンドおよびバックエンド アプリケーションをデプロイする方法の概要 最新のソフトウェア開発では、コンテナ化テクノロジーを使用してアプリケーションをデプロイすることが主流になっており、推奨される手法となっています。その中でも、Docker は人気のあるコンテナ化されたデプロイメント ツールであり、React はユーザー インターフェイスの構築に使用される強力な JavaScript ライブラリです。この記事では、React と DockerCompose を使用して、複雑なフロントエンドおよびバックエンド アプリケーションをデプロイする方法を紹介します。 1. 始める前の準備

Docker Composeを使ってPHP開発環境を簡単に構築する Docker Composeを使ってPHP開発環境を簡単に構築する Oct 12, 2023 am 11:36 AM

DockerComposeを使えば簡単にPHP開発環境を構築できます時代の発展に伴い、開発環境はますます高速かつ効率的になってきています。コンテナ オーケストレーション ツールとして、DockerCompose を使用すると、複数の Docker コンテナを簡単に構成および管理して、PHP 開発環境を迅速に構築できます。この記事では、DockerCompose を使用して PHP 開発環境を構築する方法と、具体的なコード例を紹介します。準備 まず、Docker と Doc をインストールする必要があります

Docker の Compose を使用して nginx 負荷分散を実装する方法 Docker の Compose を使用して nginx 負荷分散を実装する方法 May 11, 2023 pm 04:13 PM

nginx 負荷分散を実装するための基礎知識として docker ネットワーク管理とコンテナーの IP 設定を使用する すべての docker ネットワークを表示 dockernetworkls/*networkidnamedriverscopeb832b168ca9abridgebridgelocal373be82d3a6acomposetest_defaultbridgelocala360425082c4hosthostlocal154f600f0e90nonenulllocal*///composetest_default は導入時の前回の記事です作曲する、行う

Docker Compose、Nginx、MariaDB を使用して高可用性 PHP アプリケーション クラスターを構築する Docker Compose、Nginx、MariaDB を使用して高可用性 PHP アプリケーション クラスターを構築する Oct 12, 2023 am 08:23 AM

DockerCompose、Nginx、MariaDB を使用して可用性の高い PHP アプリケーション クラスターを構築する はじめに: インターネットの普及に伴い、Web アプリケーションの開発と展開はより複雑になってきました。 Web アプリケーションの可用性とスケーラビリティを向上させるために、多くの開発者はコンテナ化テクノロジーを使用して高可用性アプリケーション クラスターを構築し始めています。この記事では、DockerCompose、Nginx、MariaDB を使用して高可用性 PHP アプリケーションを構築する方法を紹介します。

Docker Compose を使用して nginx 負荷分散を実装する方法 Docker Compose を使用して nginx 負荷分散を実装する方法 May 15, 2023 pm 09:37 PM

nginx 負荷分散を実装するための基礎知識として docker ネットワーク管理とコンテナーの IP 設定を使用する すべての docker ネットワークを表示 dockernetworkls/*networkidnamedriverscopeb832b168ca9abridgebridgelocal373be82d3a6acomposetest_defaultbridgelocala360425082c4hosthostlocal154f600f0e90nonenulllocal*///composetest_default は導入時の前回の記事です作曲する、行う

Docker Compose が Redis クラスターをインストールする方法 Docker Compose が Redis クラスターをインストールする方法 May 28, 2023 am 10:07 AM

1. Redis 構成情報テンプレートファイル名:redis-cluster.tmpl#redis ポート port${PORT}#redis アクセスパスワード requirepass123456#redis アクセスマスターノードパスワード masterauth123456#保護モードを閉じる protected-modeno#クラスターを有効にする cluster-enabledyes#クラスターノード構成Cluster-config-filenodes.conf#timeoutcluster-node-timeout5000#clusterノードIPhostモードはホストIP#cluste

Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションの継続的配信 Docker Compose、Nginx、MariaDB を使用した PHP アプリケーションの継続的配信 Oct 12, 2023 pm 12:06 PM

DockerCompose、Nginx、MariaDB を通じた PHP アプリケーションの継続的配信の概要: クラウド コンピューティングとコンテナ化テクノロジの急速な発展に伴い、迅速な配信と展開を実現するためにコンテナ化を採用するアプリケーションが増えています。この記事では、DockerCompose、Nginx、MariaDB を使用して単純な PHP アプリケーションを構築し、継続的デリバリー プロセスを実装する方法を紹介します。同時に、読者の理解を深めるために具体的なコード例を示します。

docker-compose イメージを使用して springboot プロジェクトを公開する方法 docker-compose イメージを使用して springboot プロジェクトを公開する方法 May 11, 2023 am 10:13 AM

はじめに Docker-Compose プロジェクトは Docker の公式オープン ソース プロジェクトであり、Docker コンテナ クラスターの迅速なオーケストレーションの実現を担当します。 Compose を使用すると、ユーザーは、別個の docker-compose.yml テンプレート ファイル (YAML 形式) を通じて、関連するアプリケーション コンテナーのセットをプロジェクトとして定義できます。 Docker-Compose プロジェクトは Python で記述されており、Docker サービスによって提供される API を呼び出してコンテナーを管理します。したがって、操作しているプラ​​ットフォームが DockerAPI をサポートしている限り、Compose をオーケストレーション管理に使用できます。 Docker-Compose は管理対象コンテナを次のように分割します。

See all articles