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
设计模式的代码。