久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

還是說php實現singleton模式

瀏覽:77日期:2024-02-08 08:42:19

這天考慮用php來singleton一下,看到一篇比較全面的總結 -- singleton模式的幾種實現.其中總結的php5的實現:

PLAIN TEXTPHP:

class MyClass { private static $instance; public static function singleton() { if (!isset(self::$instance)) { $c = __CLASS__; self::$instance = new $c; } return self::$instance; } }

這段代碼拿來使用,不會太爽,因為一般都會繼承自MyClass,而$c = __CLASS__;獲取的始終是基類的類名,不可用。只能考慮找其它實現方法。

接著俺開始查看文章中的函數方式實現的singleton,實現的很不錯,缺點是類被實例化時不能帶參數,這里貼上俺的版本:

PLAIN TEXTPHP:

function getObj() { static $obj = array(); $args = func_get_args(); if(empty($args)) return null; $clazz = $args[0]; if(!is_object($obj[$clazz])) { $cnt = count($args); if($cnt> 1) { for($i = 1, $s = ''; $i <$cnt; $i++) $s[] = '$args[' . $i . ']'; eval('$obj[$clazz] = new $clazz(' . join(',', $s) . ');'); } else { $obj[$clazz] = new $clazz; } } return $obj[$clazz];}

在php5下可以很爽的調用:

PLAIN TEXTPHP:

getObj('MyClass', $param1, $param2)->myMethod();

以前的幼稚版:單子模式(SINGLETON)的簡單實現

http://www.ooso.net/index.php/archives/182

標簽: PHP
主站蜘蛛池模板: 欧美在线视频一区二区 | 日本中文字幕一区 | 夜夜艹| 欧美日韩国产在线观看 | 亚洲成人精品 | a久久久 | 亚洲精品国产综合区久久久久久久 | avhd101在线成人播放 | 亚洲高清视频在线 | 涩涩视频在线看 | 精品国产一区二区三区四 | 精品国产31久久久久久 | 亚洲欧美日韩在线 | 精品亚洲永久免费精品 | 欧美久久久久 | 亚洲欧洲精品一区二区三区 | 中文字幕一区二区三区四区 | 色九九 | 亚洲女人天堂网 | 午夜午夜精品一区二区三区文 | 精品自拍视频 | 国产一区二区免费 | 特黄特黄a级毛片免费专区 av网站免费在线观看 | 久久久久久久久一区二区三区 | 日韩国产在线看 | 日韩在线视频免费 | 中文字幕亚洲字幕一区二区 | 日韩一区二区在线观看 | 中文字幕在线三区 | 天天干天天爽 | 啪啪的网站 | 日韩视频在线观看 | 国产999精品久久久久 | 色九九 | 精品欧美乱码久久久久久1区2区 | 国产午夜精品一区二区三区视频 | 精品综合 | 在线一区观看 | 欧美高清视频一区二区三区 | 欧美日韩电影一区二区 | 呦呦在线观看 |