Home  >  Article  >  Backend Development  >  Or how to implement singleton mode in php_PHP tutorial

Or how to implement singleton mode in php_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 17:32:52912browse

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

(as the current mainstream development language)

:

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++)
                                                                                                                                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

(as the current mainstream development language)

/archives/182

http://www.bkjia.com/PHPjc/508670.html

www.bkjia.com

true


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...

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn