Home >Backend Development >PHP Tutorial >Or how to implement singleton mode in php_PHP tutorial
Consider using php today(as the current mainstream development language)Come to singleton and see a more comprehensive summary-several implementations of singleton mode. The summary of php(As the current mainstream development language)5 implementation:
PLAIN TEXTphp(As the current mainstream development language):
class MyClass
{
private static $instance;
public static function singleton()
{
if (!isset(self::$instance)) {
$c = __CLASS__ ;
self::$instance = It won’t be too fun to use, because it usually inherits from MyClass, and $c = __CLASS__; always gets the class name of the base class, which is not available. We can only consider finding other implementation methods.
Then I started to look at the singleton implemented by the function method in the article. It was implemented very well. The disadvantage is that the class cannot take parameters when it is instantiated. Here is my version:
PLAIN TEXTphp
:
function getObj() {
static $obj = array();
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++)
else {
$obj[$clazz] = new $clazz;
(as the current mainstream development language)
5 times can be easily called:
PLAIN TEXTphp
(as the current mainstream development language)
:
getObj(MyClass, $param1, $param2)->myMethod();
Previous naive version:
Simple implementation of monad mode (SINGLETON)
http: //www.ooso.net/index.php
/archives/182
http://www.bkjia.com/PHPjc/508670.html
www.bkjia.comtrue
http: //www.bkjia.com/PHPjc/508670.html
TechArticleConsidering using PHP today (as the current mainstream development language), come to singleton and see a more comprehensive article Summary - several implementations of singleton mode. The summary of php (as the current...