PHP 디자인 패턴 작성 복합 조합 패턴
复代码 代码如下:
/**
* 조합 모드
*
* 객체를 트리 구조로 결합하여 "부분-전체" 계층을 표현함으로써 고객이 단일 객체와 복합 객체를 일관되게 사용할 수 있습니다
*/
추상 클래스 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教程有兴趣的朋友有所帮助.

핫 AI 도구

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

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

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

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











React 및 Docker Compose를 사용하여 복잡한 프런트엔드 및 백엔드 애플리케이션을 배포하는 방법 개요 현대 소프트웨어 개발에서는 컨테이너화 기술을 사용하여 애플리케이션을 배포하는 것이 주류이자 권장되는 방식이 되었습니다. 그중 Docker는 인기 있는 컨테이너형 배포 도구이고 React는 사용자 인터페이스를 구축하는 데 사용되는 강력한 JavaScript 라이브러리입니다. 이 기사에서는 React 및 DockerCompose를 사용하여 복잡한 프런트엔드 및 백엔드 애플리케이션을 배포하는 방법을 소개합니다. 1. 시작 전 준비사항

DockerCompose를 사용하여 PHP 개발 환경을 쉽게 구축하세요. 시대가 발전함에 따라 개발 환경은 점점 더 빠르고 효율적으로 변하고 있습니다. 컨테이너 오케스트레이션 도구인 DockerCompose를 사용하면 여러 Docker 컨테이너를 쉽게 구성하고 관리하여 PHP 개발 환경을 빠르게 구축할 수 있습니다. 이 기사에서는 DockerCompose를 사용하여 PHP 개발 환경을 구축하는 방법을 소개하고 특정 코드 예제를 제공합니다. 준비 먼저 Docker와 Doc을 설치해야 합니다.

docker 네트워크 관리 및 컨테이너 IP 설정을 기본 지식으로 사용하여 nginx 로드 밸런싱을 구현합니다. 모든 docker 네트워크 보기 dockernetworkls/*networkidnamedriverscopeb832b168ca9abridgebridgelocal373be82d3a6acomposetest_defaultbridgelocala360425082c4hosthostlocal154f600f0e90nonenulllocal*///composetest_default는 Compose를 소개하는 이전 문서입니다.

DockerCompose, Nginx 및 MariaDB를 사용하여 고가용성 PHP 애플리케이션 클러스터 구축 소개: 인터넷의 인기로 인해 웹 애플리케이션의 개발 및 배포가 더욱 복잡해졌습니다. 웹 애플리케이션의 가용성과 확장성을 향상시키기 위해 많은 개발자가 컨테이너화 기술을 사용하여 고가용성 애플리케이션 클러스터를 구축하기 시작했습니다. 이 기사에서는 DockerCompose, Nginx 및 MariaDB를 사용하여 고가용성 PHP 애플리케이션을 구축하는 방법을 소개합니다.

docker 네트워크 관리 및 컨테이너 IP 설정을 기본 지식으로 사용하여 nginx 로드 밸런싱을 구현합니다. 모든 docker 네트워크 보기 dockernetworkls/*networkidnamedriverscopeb832b168ca9abridgebridgelocal373be82d3a6acomposetest_defaultbridgelocala360425082c4hosthostlocal154f600f0e90nonenulllocal*///composetest_default는 Compose를 소개하는 이전 문서입니다.

1. Redis 구성 정보 템플릿 파일 이름: redis-cluster.tmpl#redis port port${PORT}#redis 액세스 비밀번호 requirepass123456#redis 액세스 마스터 노드 비밀번호 masterauth123456#보호 모드 닫기 protected-modeno#클러스터 활성화yes#클러스터 노드 Cluster-config-filenodes.conf#timeout 구성 Cluster-node-timeout5000#cluster node IPhost 모드가 호스트 IP#cluste입니다.

DockerCompose, Nginx 및 MariaDB를 통한 PHP 애플리케이션의 지속적인 제공 개요: 클라우드 컴퓨팅 및 컨테이너화 기술의 급속한 발전으로 인해 점점 더 많은 애플리케이션이 신속한 제공 및 배포를 달성하기 위해 컨테이너화를 채택하기 시작했습니다. 이 기사에서는 DockerCompose, Nginx 및 MariaDB를 사용하여 간단한 PHP 애플리케이션을 구축하고 지속적인 전달 프로세스를 구현하는 방법을 소개합니다. 동시에 독자들이 더 잘 이해할 수 있도록 구체적인 코드 예제를 제공할 것입니다.

소개 Docker-Compose 프로젝트는 Docker 컨테이너 클러스터의 신속한 오케스트레이션을 구현하는 Docker의 공식 오픈 소스 프로젝트입니다. Compose를 사용하면 사용자는 별도의 docker-compose.yml 템플릿 파일(YAML 형식)을 통해 연결된 애플리케이션 컨테이너 세트를 프로젝트로 정의할 수 있습니다. Docker-Compose 프로젝트는 Python으로 작성되었으며 Docker 서비스에서 제공하는 API를 호출하여 컨테이너를 관리합니다. 따라서 운영 중인 플랫폼이 DockerAPI를 지원하는 한 오케스트레이션 관리에 Compose를 사용할 수 있습니다. Docker-Compose는 관리되는 컨테이너를 다음과 같이 나눕니다.
