美文网首页
php设计模式

php设计模式

作者: 二棉酷 | 来源:发表于2017-12-29 09:34 被阅读0次

    单例模式

    Singleton.php
    <?php
    namespace singleton;
    /**
     * 单例
     */
    class Singleton
    {
      /**
       * 自身实例
       * 
       * @var object
       */
      private static $_instance;
      /**
       * 构造函数
       * 
       * @return void
       */
      private function __construct()
      {
        
      }
      /**
       * 魔法方法
       * 禁止clone对象
       * 
       * @return string
       */
      public function __clone()
      {
        echo 'clone is forbidden';
      }
      /**
       * 获取实例
       * 
       * @return object
       */
      public static function getInstance()
      {
        if (!self::$_instance instanceof self) {
          self::$_instance = new self;
        }
        return self::$_instance;
      }
      /**
       * 测试方法
       * 
       * @return string
       */
      public function test()
      {
        echo "这是个测试 \n";
      }
    }
    
    test.php
    <?php
    /**
     * 创建型模式
     *
     * php单例模式
     *
     * @author  TIGERB <https://github.com/TIGERB>
     * @example 运行 php test.php
     */
    // 注册自加载
    spl_autoload_register('autoload');
    function autoload($class)
    {
      require dirname($_SERVER['SCRIPT_FILENAME']) . '//..//' . str_replace('\\', '/', $class) . '.php';
    }
    /************************************* test *************************************/
    use singleton\Singleton;
    // 获取单例
    $instance = Singleton::getInstance();
    $instance->test();
    // clone对象试试
    $instanceClone = clone $instance;
    

    相关文章

      网友评论

          本文标题:php设计模式

          本文链接:https://www.haomeiwen.com/subject/rbtigxtx.html