复代码 代码如下:
/**
* 조합 모드
*
* 객체를 트리 구조로 결합하여 "부분-전체" 계층을 표현함으로써 고객이 단일 객체와 복합 객체를 일관되게 사용할 수 있습니다
*/
추상 클래스 MenuComponent
{
공개 함수 추가($comComponent){}
공개 함수 제거($comComponent){}
공개 함수 getName(){}
공개 함수 getUrl(){}
public function display(){}
}
class 메뉴는 MenuComponent를 확장합니다.
{
private $_items = array();
비공개 $_name = null;
공용 함수 __construct($name)
{
$this->_name = $name;
}
공용 함수 추가($comComponent)
{
$this->_items[] = $comComponent;
}
공용 함수 제거($comComponent)
{
$key = array_search($comComponent,$this->_items);
if($key !== false) unset($this->_items[$key]);
}
공용 함수 표시()
{
echo "-- ".$this->_name." ---------
";
foreach($this->_items를 $item으로)
{
$item->display();
}
}
}
class Item 확장 MenuComponent
{
private $_name = null;
비공개 $_url = null;
공용 함수 __construct($name,$url)
{
$this->_name = $name;
$this->_url = $url;
}
공용 함수 표시()
{
echo $this->_name."#".$this->_url."
";
}
}
class 클라이언트
{
private $_menu = null;
공용 함수 __construct($menu)
{
$this->_menu = $menu;
}
공용 함수 setMenu($menu)
{
$this->_menu = $menu;
}
공용 함수 displayMenu()
{
$this->_menu->display();
}
}
// 实例一下
// 创建menu
$subMenu1 = new Menu("sub menu1");
$subMenu2 = new Menu("하위 메뉴2");
$subMenu3 = new Menu("하위 메뉴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设计模式 Composite 组合模式,包括了compose 方face的内容,希望对PHP教程有兴趣的朋友有所帮助.

如何利用React和DockerCompose部署复杂的前后端应用概述在现代软件开发中,使用容器化技术部署应用程序已经成为一种主流和推荐的做法。其中,Docker是一种流行的容器化部署工具,React是一个强大的JavaScript库,用于构建用户界面。本文将介绍如何使用React和DockerCompose来部署复杂的前后端应用。一、准备工作在开始之前

使用DockerCompose轻松搭建PHP开发环境随着时代的发展,开发环境搭建越来越迅速高效。而DockerCompose作为一种容器编排工具,可以让我们轻松地配置和管理多个Docker容器,从而快速搭建PHP开发环境。本文将介绍如何使用DockerCompose搭建PHP开发环境,并提供具体的代码示例。准备工作首先,我们需要安装Docker和Doc

使用DockerCompose、Nginx和MariaDB构建高可用性的PHP应用程序集群引言:随着互联网的普及,Web应用程序的开发和部署变得更加复杂。为了提高Web应用程序的可用性和可扩展性,很多开发者开始使用容器化技术来构建高可用性的应用程序集群。本文将介绍如何使用DockerCompose、Nginx和MariaDB来构建一个高可用性的PHP应用

以docker的网络管理,容器的ip设置为基础知识实现nginx负载均衡查看所有docker网络dockernetworkls/*networkidnamedriverscopeb832b168ca9abridgebridgelocal373be82d3a6acomposetest_defaultbridgelocala360425082c4hosthostlocal154f600f0e90nonenulllocal*///composetest_default是上一篇介绍compose时,do

以docker的网络管理,容器的ip设置为基础知识实现nginx负载均衡查看所有docker网络dockernetworkls/*networkidnamedriverscopeb832b168ca9abridgebridgelocal373be82d3a6acomposetest_defaultbridgelocala360425082c4hosthostlocal154f600f0e90nonenulllocal*///composetest_default是上一篇介绍compose时,do

一、redis配置信息模板文件名:redis-cluster.tmpl#redis端口port${PORT}#redis访问密码requirepass123456#redis访问Master节点密码masterauth123456#关闭保护模式protected-modeno#开启集群cluster-enabledyes#集群节点配置cluster-config-filenodes.conf#超时cluster-node-timeout5000#集群节点IPhost模式为宿主机IP#cluste

通过DockerCompose、Nginx和MariaDB实现PHP应用程序的持续交付概述:随着云计算和容器化技术的迅速发展,越来越多的应用程序开始采用容器化来实现快速交付和部署。本文将介绍如何使用DockerCompose、Nginx和MariaDB来搭建一个简单的PHP应用程序,并实现持续交付的过程。同时,我们将给出具体的代码示例,帮助读者更好地理解

如何使用DockerCompose进行多容器PHP应用的打包部署?随着网络应用的发展,构建和部署复杂的多容器应用变得越来越常见。Docker是一种流行的容器化平台,可以帮助我们快速构建和部署应用程序。而DockerCompose是用于定义和运行多容器Docker应用程序的工具。本文将介绍如何使用DockerCompose来打包和部署一个简单的PHP应用


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

뜨거운 주제



