昨天工做沒那麼忙,因此多謝了點跟模式相關的代碼php
單例模式,保證在一個進程中一個類只有一個對象設計模式
<?php //單例模式:一個進程中始終某一個類只有一個對象存在 final class SignalOnly { protected static $instance =null; public static function getInstance(){ if(empty(self::$instance)){ //延遲綁定,簡單的說就是找到方法的最後的調用者 //self::$instance = new static(); self::$instance = new static(); } return self::$instance; } private function __construct(){ } private function __clone(){ } } var_dump(SignalOnly::getInstance()); //能夠繼承子類的設計模式 class Signal { protected static $instance =null; public static function getInstance(){ if(empty(self::$instance)){ //延遲綁定,簡單的說就是找到方法的最後的調用者 //self::$instance = new self(); self::$instance = new static(); } return self::$instance; } protected function __construct(){ } protected function __clone(){ } } class SignalSon extends Signal{ } var_dump(SignalSon::getInstance(),Signal::getInstance());