设计模式中罕用的魔术办法
- __get/__set 拜访不存在的属性时
- __call(fun_name,para)/__callStatic 拜访类不存在的办法时调用
- __tostring 将对象当做字符串时,调用,比方echo一个对象
- __invoke($param) 将对象当做函数应用的时候调用
工厂模式
-
如果一个类产生名字、参数等批改,能够间接在工厂里批改,不必在每个new的中央批改
class Factory { static function createDB(){ return new DataBases(); } }
单例模式
-
屡次实例化和一次实例化成果统一,节俭资源
<code class="php">class DataBases{ static private $db; // 避免new private function __construct(){ } private function __clone(){} static public function instance(){ if(!self::$db){ self::$db = new self(); } return self::$db; } } DataBases::instance();