首页 php教程 PHP源码 php5.3匿名函数实现单例模式

php5.3匿名函数实现单例模式

May 25, 2016 pm 04:59 PM
匿名函数 单例模式 实现

从laravel源码中看到的,学习下。
执行代码返回如下信息:
init
string 'msg' (length=3)
string 'msg' (length=3)
init
string 'msg2' (length=4)
init
string 'msg3' (length=4)
string 'msg3' (length=4)
string 'msg3' (length=4)

php代码

class cc {
 
    function normal($a)
    {
        static $object;
 
        if (is_null($object))
        {
            echo 'init';
            $object = $a;
        }
 
        return $object;
    }
 
    public function share($p)
    {
        return function() use ($p)
        {
            static $object;
 
            if (is_null($object))
            {
                echo 'init';
                $object = $p;
            }
 
            return $object;
        };
    }
 
}
 
$c = new cc();
 
$msg = $c->share('msg');
var_dump($msg());
var_dump($msg());
$msg2 = $c->share('msg2');
var_dump($msg2());
 
$msg3 = $c->normal('msg3');
var_dump($msg3);
var_dump($msg3);
$msg4 = $c->normal('msg4');
var_dump($msg4);
登录后复制
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶体解释及其做什么(黄色晶体)
1 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

华为手机如何实现双微信登录? 华为手机如何实现双微信登录? Mar 24, 2024 am 11:27 AM

华为手机如何实现双微信登录?

如何在华为手机上实现微信分身功能 如何在华为手机上实现微信分身功能 Mar 24, 2024 pm 06:03 PM

如何在华为手机上实现微信分身功能

C++ 匿名函数的用法和特点 C++ 匿名函数的用法和特点 Apr 19, 2024 am 09:03 AM

C++ 匿名函数的用法和特点

PHP编程指南:实现斐波那契数列的方法 PHP编程指南:实现斐波那契数列的方法 Mar 20, 2024 pm 04:54 PM

PHP编程指南:实现斐波那契数列的方法

PHP游戏需求实现指南 PHP游戏需求实现指南 Mar 11, 2024 am 08:45 AM

PHP游戏需求实现指南

掌握Golang如何实现游戏开发的可能性 掌握Golang如何实现游戏开发的可能性 Mar 16, 2024 pm 12:57 PM

掌握Golang如何实现游戏开发的可能性

利用Golang实现数据导出功能详解 利用Golang实现数据导出功能详解 Feb 28, 2024 pm 01:42 PM

利用Golang实现数据导出功能详解

Golang 匿名函数可以返回多个值吗? Golang 匿名函数可以返回多个值吗? Apr 13, 2024 pm 04:09 PM

Golang 匿名函数可以返回多个值吗?

See all articles