<?php
//單例模式
class site
//獲取本類唯一的例項
public static function getinstance($sitename="php中文網")
return self::$instance;}}
//用工廠模式生成本類的單一例項
class factory
}//註冊樹
/*註冊:set() 物件掛在樹上
獲取:get() 獲取物件
登出:_unset() 銷毀物件
*/class register
//從樹上獲取物件
public static function get($alias)
//把書上的物件吃掉
public static function _unset($alias)
}//將site類的例項 放至物件樹
register::set('site',factory::create());
//從樹上獲取乙個物件
$obj = resgister::get('site');
echo $obj->sitename;
/*trait實現了**的復用
突破單繼承限制
trait不是用於例項話
優先順序問題:
當前類和父類中方法一樣
trait類的優先順序高於同名父類方法
*/trait demo1
}trait demo2
}class demo
public function test()
}
PHP經典設計模式,單例模式 工廠模式 註冊樹模式
單例模式 工廠模式 註冊樹模式 單例模式,該類負責建立自己的物件,同時確保只有單個物件被建立。這個類提供了一種訪問其唯一的物件的方式 class site 例項化本類 public static function getinstance sitename php中文網 return self ins...
工廠模式 單例模式 註冊樹模式
三種基本設計模式 1 工廠模式 工廠方法或者類生成物件,而不是在 中直接new 2 單例模式 使某個類的物件僅允許建立乙個 3 註冊模式 全域性共享和交換物件 工廠模式 namespace imooc class factory db imooc factory createdatabase 工廠模...
工廠模式 單例模式 註冊樹模式
優點 將某個常用類,多個地方需要 new 時,使用工廠模式,方便類的擴充套件與維護 檔案目錄 frame factory.php namespace frame useframe database useframe register class factory 外部呼叫得到 db物件 db fram...