php中的工廠模式 單例模式 註冊模式

2021-07-25 23:47:26 字數 1171 閱讀 2481

工廠模式:

<?php

class example

else }}

?>

單例模式:

<?php

class db   

public static function getinstance()

//例項化本類物件  

return self::$obj;

//返回本類的物件

}public function query($sql)

}$db = db::getinstance();                  //只能使用靜態方法getinstance()去獲取db類的物件

$db -> query("select * from user");   //訪問物件中的成員

註冊模式:

<?php

/**單例模式保證了乙個類中只有乙個例項被全域性訪問,當你有一組全域性物件被全域性訪問時可能就需要用到註冊者模式 (registry),它提供了在程式中有條理的存放並管理物件 (object),一種解決方案。乙個「註冊模式」應該提供get() 和 set()方法來儲存和取得物件(用一些屬性key)而且也應該提供乙個isvalid()方法來確定乙個給定的屬 性是否已經設定。 

註冊模式通過單一的全域性的物件來獲取對其它物件的引用 例項:php設計模式之註冊模式例項

*/class  registry  

return self::$obj;

}public function  isvalid($key)  

public function  get($key)  

public  function  set($key,  $obj)  

}class connectdb

public function getconnect()

}//使用測試

$reg = registry::instance();

$reg->set('db1', new connectdb('localhost', 'root', '123456'));

$reg->set('db2', new connectdb('192.168.1.198', 'test', '123456'));

print_r($reg->get('db1'));

print_r($reg->get('db2'));

PHP的單例模式 ,工廠模式,註冊模式的例子

created by phpstorm.user date 2018 12 6 time 14 11 class site 獲取本類唯一例項 public static function getinstance sitename return self instance 使用工廠模式生成類的單一例項...

工廠模式 單例模式 註冊樹模式

三種基本設計模式 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...