Zi 字媒體
2017-07-25T20:27:27+00:00
在實際開發中,常會看到像下面一樣的程式碼
function getXXX(){
$db = new DB();
$db -> query(...);
}
function getYYY(){
$db = new DB();
$db -> query(...);
}
在這種狀況下,DB的物件會被重覆建立,造成系統負擔
Singleton pattern就是要解決這樣子的問題,在建立同時先判斷物件是不是已經先存在
class DB {
private static $_instance = null;
public static function getInstance() {
if( self::$_instance === null ){
self::$_instance = new self();
}
return self::$_instance;
}
}
//db1 db2 皆為同一個instance
$db1 = DB::getInstance();
$db2 = DB::getInstance();
當然克服這種狀況也可以利用global來解決,不過以OOP的角度來說,還是建議使用Singleton。
Categories: PHP
分類
Android
AngularJS
API Blueprint
Chrome
Database
MySQL
DataStructure
Docker
Editor
Vim
Firefox
Git
GitLab
Google API
Hadoop
Language
Go
Java
JavaScript
jQuery
jQueryChart
Node.js
Vue
PHP
Laravel
ZendFramework
Python
Mac
Network
Cisco
DLink
Juniper
Oauth
Server
Apache
Share
Unix
FreeBSD
Linux
WebDesign
Bootstrap
CSS
HTML
Wordpress
Search
搜尋關鍵字:
寫了
5860316篇文章,獲得
23313次喜歡