>백엔드 개발 >PHP 튜토리얼 >PHP 객체 지향 개발 - 싱글톤 모드

PHP 객체 지향 개발 - 싱글톤 모드

黄舟
黄舟원래의
2016-12-29 11:07:441705검색

HP의 전역 변수는 프로그래밍에 뛰어난 유연성을 제공하지만 전역 변수의 제약이 없는 특성으로 인해 숨겨진 위험도 큽니다. 싱글톤 패턴은 전역 변수에 대한 좋은 대안이 될 수 있습니다.

꽃이 있다고 가정해 보세요. 보는 사람마다 꽃에 물을 주고 감사할 것입니다.

class flower{

	function __construct(){
		echo date('Y-m-d H:i:s').'浇了花';
	}
	
	public function look(){
		return '一朵美丽的花';
	}

}

$a=new flower();//将输出:2013-01-08 09:37:54浇了花
echo $a->look();//将输出:一朵美丽的花
$b=new flower();//将输出:2013-01-08 09:37:54浇了花
echo $b->look();//将输出:一朵美丽的

사람이 많아지면 조만간 꽃이 시들게 된다고 볼 수 있죠. 꽃을 처음 본 사람이 꽃에 물을 주면, 다른 사람들은 꽃에 물을 줄 필요가 없습니다.

class flower{  
      
    private static $instance;  
  
    private function __construct(){  
        echo date('Y-m-d H:i:s').'浇了花';  
    }  
      
    public static function getInstance(){  
        if(empty(self::$instance)){  
            self::$instance=new self();  
        }  
        return self::$instance;  
    }  
      
    public function look(){  
        return '一朵美丽的花';  
    }  
  
}  
  
$a=flower::getInstance();//将输出:2013-01-08 09:52:43浇了花  
echo $a->look();//将输出:一朵美丽的花  
  
$b=flower::getInstance();//不会输出  
echo $b->look();//将输出:一朵美丽的

싱글턴 모드는 mysql 데이터베이스 연결 및 기타 작업과 같이 동일한 인스턴스 하나만 확보하면 되는 환경에 적합합니다.

위 내용은 PHP 객체지향 개발 - 싱글톤 모드 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.