<?php
header('content-type:text/html;charset=utf-8');
/*
 *单态设计模式 单例  单件
 *一个类只能创建一个对象 
 *1.如果想让一个类,只能有一个对象,就要先让这个类不能创建对象,将构造方法private
 *2.可以在类的内部使用一个静态方法来创建对象
 */

    class Persion{
        //使用静态成员实现单态设计
        static $obj = null;
        private function __construct(){
            
        }
        static function getObj(){
            //如果第一次调用时没有对象,则创建,以后调用时,直接使用第一次创建的对象
            if(is_null(self::$obj))
            self::$obj = new self;//self就代表类名自己
            return self::$obj;
        }
        function say(){
            echo '我是中国人';
        }
        
        function __destruct(){
            echo '析构方法释放资源<br/>';
        }
    }
    $p = Persion::getObj();
    $p = Persion::getObj();
    $p ->say();