PHP中用Trait实现代码重用

风行水上 @ 2012-04-12 16:48:24
标签:

    PHP从版本5.4.0开始支持被称为trait的代码重用机制。

    下面的代码根据《PHP Master: Write Cutting-edge Code》修改而成。

    trait Singleton {
      private static $_instance = null;
    
      public static function getInstance(){
        $class = __CLASS__;
        if (!(self::$_instance instanceof __CLASS__)) {
          self::$_instance = new $class();
        }
        return self::$_instance;
      }
    }
    
    class DBConnection extends PDO {
      use Singleton;
      private function __construct() {
        parent::__construct(...);
      }
    }
    

    可以看出,通过use Singleton语句,可以方便的重用Singleton设计模式的代码。

    标签:

      分享到:
      comments powered by Disqus

      21/23ms