> 백엔드 개발 > PHP 문제 > PHP의 디자인 패턴이란 무엇입니까? 싱글톤이란 무엇입니까? 그것을 사용하는 방법?

PHP의 디자인 패턴이란 무엇입니까? 싱글톤이란 무엇입니까? 그것을 사용하는 방법?

慕斯
풀어 주다: 2023-03-10 19:52:02
원래의
2500명이 탐색했습니다.

지난 기사에서는 "PHP를 사용하여 일반 프로세스에서 MVC 프레임워크를 만드는 방법"에 대해 소개했습니다. 이번 기사에서는 계속해서 PHP에는 어떤 디자인 패턴이 있는지 소개합니다. 싱글톤이란 무엇입니까? 그것을 사용하는 방법? 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

PHP의 디자인 패턴이란 무엇입니까? 싱글톤이란 무엇입니까? 그것을 사용하는 방법?

PHP 고급 실습 - 디자인 패턴

디자인 패턴 개요

디자인 패턴(Designpattern)은 대부분의 사람들에게 반복적으로 사용되고 알려져 있는 분류되고 분류된 코드 디자인 경험의 집합입니다. 디자인 패턴을 사용하는 목적은 코드를 재사용하고, 다른 사람이 코드를 더 쉽게 이해할 수 있도록 하며, 코드 신뢰성을 보장하는 것입니다. 디자인 패턴이 우리 자신과 다른 사람, 그리고 시스템 모두에게 윈윈(win-win)이라는 것은 의심의 여지가 없습니다. 디자인 패턴은 건물의 벽돌과 마찬가지로 소프트웨어 엔지니어링의 초석입니다.

패턴의 고전적 정의: 각 패턴은 우리 환경에서 지속적으로 발생하는 문제를 설명하고, 그 다음 문제 해결의 핵심을

이렇게 하면 반복할 필요 없이 기존 솔루션을 수없이 재사용할 수 있습니다. 같은 일. 즉, 패턴은 특정 환경의 문제에 대한 해결책입니다

현재 두 학교가 있습니다. 어떤 사람은 디자인 패턴 사용을 권장하고 어떤 사람은 디자인 패턴 사용을 권장하지 않습니다!

높은 응집력, 낮은 결합력

에 클래스 집합 정도가 매우 높아야 합니다

클래스 간의 관계가 최소화되어야 합니다

코드를 예로 들어 보겠습니다. 먼저 새 파일을 만든 다음 먼저 클래스를 작성한 다음 두 개의 개체를 만듭니다. 지금 생성한 두 개체는 동일한 공간과 동일한 개체이므로 if 문을 통해 판단해야 합니다. 코드는 다음과 같습니다.

<?php
class Dog
{
}
$dog1 = new Dog();
$dog2 = new Dog();
if ($dog1=== $dog2) {
echo &#39;这是同一个对象&#39;;
} else {
echo &#39;这是两个不同的对象&#39;;
}
로그인 후 복사

결과는 다음과 같습니다.

PHP의 디자인 패턴이란 무엇입니까? 싱글톤이란 무엇입니까? 그것을 사용하는 방법?결과는 다음과 같습니다. 두 개의 서로 다른 객체이므로 싱글톤을 만들어야 합니다.

코드는 다음과 같습니다.

private function_construct( ) { }
//静态属性保存单例对象
static private $instance;
//通过静态方法来创建单例对象
static public function getInstance()
{
/ /判断$instance是否为空,如果为空,则new- 一个对象
如果不会空,则直接返回
if( !self: :$instance) {
self: :$instance = new self();
}
return self: : $instance ;
}
로그인 후 복사
1. 싱글톤(단일 인스턴스)

이 클래스는 하나의 객체만 생성할 수 있습니다.

PHP의 애플리케이션은 주로 데이터베이스 애플리케이션에 있습니다. 싱글톤 모드를 사용하면

새로운 작업으로 인해 많은 리소스가 소모되는 것을 피할 수 있습니다. 단계:

1. 생성자는 비공개로 표시되어야 합니다

2. 클래스 인스턴스의 정적 멤버 변수를 저장합니다

3. 인스턴스의 공개 정적 메서드를 가져옵니다

권장 학습: "

PHP 비디오 튜토리얼

"

위 내용은 PHP의 디자인 패턴이란 무엇입니까? 싱글톤이란 무엇입니까? 그것을 사용하는 방법?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿