닭 갈비 의 PHP 단일 모드 응용 상세 설명
<?php
/* , :
*
* 1. $_instance
* 2. , new
* 3. getInstance() ,
* 4. ::
* 5. PHP , PHP PHP , 。
* ,PHP 。 PHP , , ,
* , , , Singleton 。
* , , ,
* new ( : new ) , PHP
*
*/
class People
{
static private $_instance = NULL;
public $height = '';
public $age = '';
private function __construct()
{
$this->height = '185';
$this->age = 25;
}
private function __clone()
{
//do something
}
static public function getInstance()
{
if(!self::$_instance instanceof self)
{
//echo 'lgh-big';
self::$_instance = new self;
}
else
{
//for testing only
//echo 'gdc-xiaoairener';
}
return self::$_instance;
}
public function getHeight()
{
echo $this->height;
}
public function getAge()
{
echo $this->age;
}
}
function testInstance()
{
People::getInstance()->getAge();
}
//begin to use the class
$lgh = People::getInstance();
$lgh->getHeight();
echo '<br />';
testInstance();
?>
을 사용 하여 단일 모드 인 코딩
<?php
......
//
$db = new DB(...);
// :
$db->addUserInfo();
......
// , , ,
......
function test(){
......
// , , ?!
$db = new DB(...);
$db->getUserInfo();
......
// , , global ? ,global , , OOP , , global , , ,
global $db; //OOP ,
......
}
HowC 는 어떻게 PHP 단일 모드 를 작성 합 니까?단일 모드 의 응용 장면 을 알 게 된 후에 우 리 는 단일 모드 의 구체 적 인 실현 코드 를 작성 하여 PHP 단일 모드 의 핵심 포 인 트 를 파악 합 니 다.코드 는 다음 과 같 습 니 다.
<?php
......
// , , ,
// , :)
DB::getInstance()->addUserInfo();
DB::getInstance()->getUserInfo();
......
상기 코드 에서 우 리 는 PHP 단일 모드 가 실현 하 는 핵심 포 인 트 는 다음 세 가지 와 같 습 니 다.1.저장 류 의 유일한 인 스 턴 스 정적 구성원 변수(보통$)가 필요 합 니 다.instance 개인 변수)2.구조 함수 와 복제 함 수 는 개인 으로 밝 혀 야 합 니 다.이것 은 외부 프로그램 new 류 가 단일 모드 의 의 미 를 잃 는 것 을 방지 하기 위해 서 입 니 다.3.이 인 스 턴 스 를 방문 하 는 공공 정적 방법(보통 getInstance 방법)을 제공 하여 유일한 인 스 턴 스 를 참조 하 는 PHP 단일 모드 의 단점 을 되 돌려 야 합 니 다.PHP 언어 는 해석 형 스 크 립 트 언어 입 니 다.이 운영 체 제 는 모든 PHP 페이지 가 해석 되 고 실 행 된 후에 모든 관련 자원 을 회수 합 니 다.즉,PHP 는 언어 단계 에서 특정한 대상 을 메모리 에 상주 시 킬 방법 이 없다.이것 은 asp.net,자바 등 컴 파일 형 과 다르다.예 를 들 어 자바 에서 단일 사례 는 전체 응용 프로그램의 생명 주기 에 존재 하고 변 수 는 크로스 페이지 급 이 므 로 이 인 스 턴 스 가 응용 프로그램의 생명 주기 에서 유일 하 게 할 수 있다.그러나 PHP 에서 모든 변 수 는 전역 변수 든 클래스 의 정적 구성원 이 든 페이지 급 입 니 다.페이지 가 실 행 될 때마다 새로운 대상 을 다시 만 들 고 페이지 가 실 행 된 후에 비 워 집 니 다.그러면 PHP 단일 모드 는 의미 가 없 는 것 같 습 니 다.그래서 PHP 단일 모드 는 단일 페이지 급 요청 시 여러 개의 응용 장면 이 나타 나 고 같은 대상 자원 을 공유 해 야 할 때 매우 의미 가 있다 고 생각 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.