Grasp.Today

PHP设计模式之单例模式

    <?php
    #千锋PHP http://www.qfedu.com/php/?
    #千锋PHP http://www.qfedu.com/php/?
    namespace app;
    
    /**
     * Class Person
     *
     * @package app
     */
    class Person
    {
  /**
   * 保存对象实例
   * @var
   */
  protected static $isMake;
    
  /**
   * 不允许外部实例化
   * Person constructor.
   */
  private function __construct()
  {
    
  }
    
  /**
   * 使用静态变量控制只会创建一次对象实例
   *
   * @return mixed
   */
  public static function make()
  {
      if (is_null(static::$isMake)) {
          static::$isMake = new static();
      }
    
      return static::$isMake;
  }
    }
    
    $instance = Person::make();
    

 

posted @ 2017-04-22 09:18  gaohj  阅读(216)  评论(0编辑  收藏  举报