本文實例講述了PHP工廠模式、單例模式與注冊樹模式。分享給大家供大家參考,具體如下:
三種基本設計模式
1、工廠模式:工廠方法或者類生成對象,而不是在代碼中直接new
2、單例模式:使某個類的對象僅允許創建一個
3、注冊模式:全局共享和交換對象
工廠模式:
<?phpnamespace IMooc;class Factory{ static function createDatabase() { $db = new Database(); return $db; }}
$db = IMooc/Factory::createDatabase();
工廠模式的好處是,避免Database這個類,在很多個php文件都進行new操作,如果Database這個類發生了一些變更(修改了名字或者參數),那這時候如果不工廠模就需要修改多出了,使用工廠模式,就只需要修改工廠方法即可。
單例模式:
<?phpnamespace IMooc;class Database{ protected $db; private function __construct() { } // 獲取數據庫操作實例 static function getInstance() { if(self::$db){ return self::$db; }else{ self::$db = new self(); return self::$db; } }}// 無論調用多少次,只會創建一個實例$db = IMooc/Database::getInstance();$db = IMooc/Database::getInstance();$db = IMooc/Database::getInstance();$db = IMooc/Database::getInstance();
注冊樹模式:
<?phpnamespace IMooc;class Register{ protected static $objects; static function set($alias, $object) { self::$objects[$alias] = $object; } static function get($name) { return self::$objects[$name]; } static function _unset($alias) { unset(self::$objects[$alias]); }}$db = /IMooc/Register::get('db1');
希望本文所述對大家PHP程序設計有所幫助。
新聞熱點
疑難解答
圖片精選