首页 » 网站建设 » php常驻对象技巧_浅谈对PHP单例模式的理解以及示例代码

php常驻对象技巧_浅谈对PHP单例模式的理解以及示例代码

访客 2024-12-03 0

扫一扫用手机浏览

文章目录 [+]

为什么会利用单例模式?

在网上查了一下资料,记录一下也方便自己往后查看。

php常驻对象技巧_浅谈对PHP单例模式的理解以及示例代码

单例模式顾名思义,只有一个实例。
可以节约内存和资源,紧张是php在和数据库打交道的时候,每new一次工具都会花费一定的资源。

php常驻对象技巧_浅谈对PHP单例模式的理解以及示例代码
(图片来自网络侵删)

众所周知,PHP措辞是一种阐明型的脚本措辞,这种运行机制使得每个PHP页面被阐明实行后,所有的干系资源都会被回收。
也便是说,PHP在措辞级别上没有办法让某个工具常驻内存,这和asp.net、Java等编译型是不同的,比如在Java中单例会一贯存在于全体运用程序的生命周期里,变量是跨页面级

的,真正可以做到这个实例在运用程序生命周期中的唯一性。
然而在PHP中,所有的变量无论是全局变量还是类的静态成员,都是页面级的,每次页面被实行时,都会重新建立新的工具,都会在页面实行完毕后被清空,这样彷佛PHP单例模式就没有什么意义了,以是PHP单例模式我以为只是针对单次页面

级要求时涌现多个运用处景并须要共享同一工具资源时是非常故意义的。

话不多说,先上代码

<span style=\公众font-size: 14px;\公众><span style=\公众font-size: 12px;\"大众><?php</span><br><br><span style=\"大众font-size: 12px;\"大众>class User</span><br><span style=\"大众font-size: 12px;\公众>{</span><br><span style=\公众font-size: 12px;\公众> /</span><br><span style=\"大众font-size: 12px;\"大众> 1、创建一个存放工具的私有化静态变量</span><br><span style=\"大众font-size: 12px;\公众> 2、私有化克隆方法</span><br><span style=\"大众font-size: 12px;\"大众> 3、私有化布局方法</span><br><span style=\"大众font-size: 12px;\"大众> 4、创建实例化工具的唯一入口</span><br><span style=\"大众font-size: 12px;\"大众> </span><br><span style=\"大众font-size: 12px;\公众> /</span><br><span style=\"大众font-size: 12px;\"大众> private static $_instance = '';</span><br><span style=\"大众font-size: 12px;\"大众> private function __clone(){}</span><br><span style=\"大众font-size: 12px;\公众> private function __construct(){}</span><br><span style=\"大众font-size: 12px;\公众> static public function getInstance()</span><br><span style=\"大众font-size: 12px;\公众> {</span><br><span style=\公众font-size: 12px;\"大众> if(is_null(self::$_instance) || isset(self::$_instance)){</span><br><span style=\公众font-size: 12px;\公众> self::$_instance = new User();</span><br><span style=\"大众font-size: 12px;\"大众> }</span><br><span style=\"大众font-size: 12px;\"大众> return self::$_instance;</span><br><span style=\"大众font-size: 12px;\"大众> }</span><br><span style=\"大众font-size: 12px;\公众> public function getIp()</span><br><span style=\"大众font-size: 12px;\公众> {</span><br><span style=\"大众font-size: 12px;\"大众> return $_SERVER['SERVER_ADDR'];</span><br><span style=\公众font-size: 12px;\"大众> }</span><br><span style=\"大众font-size: 12px;\公众>}</span><br><span style=\公众font-size: 12px;\"大众>$op = User::getInstance();</span><br><span style=\"大众font-size: 12px;\公众>echo $op->getIp();</span><br><br></span>

以上便是浅谈对PHP单例模式的理解以及示例代码的详细内容,更多请关注其它干系文章!

更多技巧请《转发 + 关注》哦!

标签:

相关文章

微信第三方登录便捷与安全的完美融合

社交平台已成为人们日常生活中不可或缺的一部分。微信作为我国最受欢迎的社交软件之一,拥有庞大的用户群体。为了方便用户在不同平台间切换...

网站建设 2025-02-18 阅读0 评论0

广东高速代码表解码高速公路管理智慧

高速公路作为国家交通动脉,连接着城市与城市,承载着巨大的物流和人流。广东作为我国经济大省,高速公路网络密布,交通流量巨大。为了更好...

网站建设 2025-02-18 阅读0 评论0