compose php设计模式 Composite 组合模式
复制代码 代码如下:
/**
* 组合模式
*
* 将对象组合成树形结构以表示"部分-整体"的层次结构,使得客户对单个对象和复合对象的使用具有一致性
*/
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教程有兴趣的朋友有所帮助。

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds

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 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 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.

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

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

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

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 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.
