Maison développement back-end tutoriel php compose php设计模式 Composite 组合模式

compose php设计模式 Composite 组合模式

Jul 29, 2016 am 08:45 AM
compose

复制代码 代码如下:


/** 
* 组合模式 

* 将对象组合成树形结构以表示"部分-整体"的层次结构,使得客户对单个对象和复合对象的使用具有一致性 
*/ 
abstract class 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();
private $_name = null;
public function __construct($name)
{
$this->_name = $name;
}
public function add($component)
{
$this->_items[] = $component;
}
public function 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 Item extends MenuComponent
{
private $_name = null;
private $_url = null;
public function __construct($name,$url)
{
$this->_name = $name;
$this->_url = $url;
}
public function display()
{
echo $this->_name."#".$this->_url."
";
}
}
class Client
{
private $_menu = null;
public function __construct($menu)
{
$this->_menu = $menu;
}
public function setMenu($menu)
{
$this->_menu = $menu;
}
public function displayMenu()
{
$this->_menu->display();
}
}
// 实例一下
// 创建menu
$subMenu1 = new Menu("sub menu1");
$subMenu2 = new Menu("sub menu2");
$subMenu3 = new Menu("sub menu3");
$item1 = new Item("163","www.163.com");
$item2 = new Item("sina","www.sina.com");
$subMenu1->add($item1);
$subMenu1->add($item2);
$item3 = new Item("baidu","www.baidu.com");
$item4 = new Item("google","www.google.com");
$subMenu2->add($item3);
$subMenu2->add($item4);
$allMenu = new Menu("All Menu");
$allMenu->add($subMenu1);
$allMenu->add($subMenu2);
$allMenu->add($subMenu3);
$objClient = new Client($allMenu);
$objClient->displayMenu();
$objClient->setMenu($subMenu2);
$objClient->displayMenu();

以上就介绍了compose php设计模式 Composite 组合模式,包括了compose方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment déployer des applications front-end et back-end complexes à l'aide de React et Docker Compose Comment déployer des applications front-end et back-end complexes à l'aide de React et Docker Compose Sep 26, 2023 am 10:17 AM

Présentation de la façon de déployer des applications front-end et back-end complexes à l'aide de React et Docker Compose Dans le développement de logiciels moderne, l'utilisation de la technologie de conteneurisation pour déployer des applications est devenue une pratique courante et recommandée. Parmi eux, Docker est un outil de déploiement conteneurisé populaire et React est une puissante bibliothèque JavaScript utilisée pour créer des interfaces utilisateur. Cet article explique comment utiliser React et DockerCompose pour déployer des applications front-end et back-end complexes. 1. Préparation avant de commencer

Utilisez Docker Compose pour créer facilement un environnement de développement PHP Utilisez Docker Compose pour créer facilement un environnement de développement PHP Oct 12, 2023 am 11:36 AM

Utilisez DockerCompose pour créer facilement un environnement de développement PHP Avec l'évolution des temps, l'environnement de développement devient de plus en plus rapide et efficace. En tant qu'outil d'orchestration de conteneurs, DockerCompose nous permet de configurer et de gérer facilement plusieurs conteneurs Docker pour créer rapidement un environnement de développement PHP. Cet article explique comment utiliser DockerCompose pour créer un environnement de développement PHP et fournit des exemples de code spécifiques. Préparation Tout d'abord, nous devons installer Docker et Doc

Créez un cluster d'applications PHP hautement disponible à l'aide de Docker Compose, Nginx et MariaDB Créez un cluster d'applications PHP hautement disponible à l'aide de Docker Compose, Nginx et MariaDB Oct 12, 2023 am 08:23 AM

Créez un cluster d'applications PHP hautement disponible à l'aide de DockerCompose, Nginx et MariaDB Introduction : Avec la popularité d'Internet, le développement et le déploiement d'applications Web sont devenus plus complexes. Afin d'améliorer la disponibilité et l'évolutivité des applications Web, de nombreux développeurs ont commencé à utiliser la technologie de conteneurisation pour créer des clusters d'applications à haute disponibilité. Cet article explique comment utiliser DockerCompose, Nginx et MariaDB pour créer une application PHP hautement disponible.

Comment utiliser Docker Compose pour implémenter l'équilibrage de charge nginx Comment utiliser Docker Compose pour implémenter l'équilibrage de charge nginx May 15, 2023 pm 09:37 PM

Utilisez la gestion du réseau Docker et les paramètres IP du conteneur comme connaissances de base pour implémenter l'équilibrage de charge nginx. introduction à composer, faire

Comment Docker Compose installe le cluster Redis Comment Docker Compose installe le cluster Redis May 28, 2023 am 10:07 AM

1. Nom de fichier du modèle d'informations de configuration Redis : redis-cluster.tmpl#redis port port${PORT}#redis access password requirepass123456#redis access Mot de passe du nœud maître masterauth123456#Fermer le mode protégé protected-modeno#Activer le cluster cluster-enabledyes#Cluster node Configurer cluster-config-filenodes.conf#timeout cluster-node-timeout5000#cluster Le mode IPhost du nœud est l'adresse IP de l'hôte#cluste

Comment utiliser Docker's Compose pour implémenter l'équilibrage de charge nginx Comment utiliser Docker's Compose pour implémenter l'équilibrage de charge nginx May 11, 2023 pm 04:13 PM

Utilisez la gestion du réseau Docker et les paramètres IP du conteneur comme connaissances de base pour implémenter l'équilibrage de charge nginx. Afficher tous les réseaux Docker dockernetworkls/*networkidnamedriverscopeb832b168ca9abridgebridgelocal373be82d3a6acomposetest_defaultbridgelocala360425082c4hosthostlocal154f600f0e90nonenulllocal*///composetest_default est l'article précédent lorsque. introduction à composer, faire

Livraison continue d'applications PHP avec Docker Compose, Nginx et MariaDB Livraison continue d'applications PHP avec Docker Compose, Nginx et MariaDB Oct 12, 2023 pm 12:06 PM

Présentation de la livraison continue d'applications PHP via DockerCompose, Nginx et MariaDB : avec le développement rapide de la technologie de cloud computing et de conteneurisation, de plus en plus d'applications commencent à adopter la conteneurisation pour obtenir une livraison et un déploiement rapides. Cet article expliquera comment utiliser DockerCompose, Nginx et MariaDB pour créer une application PHP simple et implémenter le processus de livraison continue. En même temps, nous donnerons des exemples de code spécifiques pour aider les lecteurs à mieux comprendre

La recette d'or de Docker Compose, Nginx et MariaDB : architecture d'application PHP hautement disponible La recette d'or de Docker Compose, Nginx et MariaDB : architecture d'application PHP hautement disponible Oct 12, 2023 am 09:25 AM

La recette d'or de DockerCompose, Nginx et MariaDB : architecture d'application PHP hautement disponible [Introduction] À l'ère d'Internet d'aujourd'hui, la haute disponibilité est cruciale pour chaque site Web et chaque application. Pour atteindre cet objectif, nous devons construire une architecture stable, évolutive et performante. Cet article expliquera comment utiliser DockerCompose, Nginx et MariaDB pour créer une architecture d'application PHP hautement disponible et fournira des exemples de code spécifiques.

See all articles