php单例设计方法(php设计模式之单例模式用法经典示例分析)
类别:编程学习 浏览量:439
时间:2021-10-22 07:08:43 php单例设计方法
php设计模式之单例模式用法经典示例分析本文实例讲述了php设计模式之单例模式用法。分享给大家供大家参考,具体如下:
|
<?php /** * @desc 单例模式 * 目的:防止过多的new对象和clone对象,没有对象的时候new对象并缓存,始终保持都是同一个对象实例 * 特点:php的单例是进程中的单例,而不像java属于内存中的单例 * **/ class single{ protected static $ins = null; //声明一个静态变量,用来存储类的实例 private $name ; //声明一个私有的实例变量 /** * 私有化构造方法,防止不断的创建对象 * **/ private function __construct(){ } public static function getIns(){ if (self:: $ins ===null){ self:: $ins = new self(); } return self:: $ins ; } public function setName( $name ){ $this ->name = $name ; } public function getName(){ return $this ->name; } } $single1 = single::getIns(); $single2 = single::getIns(); $single1 ->setName( 'hello world!' ); $single2 ->setName( 'hello php!' ); echo $single1 ->getName(); //输出结果:hello php! echo "<br/>" : echo $single2 ->getName(); //输出结果:hello php! /*** * 分析:输出的结果都是hello php! * 采用了单例模式对象$single1与$single2是等价的,因此对象$single1与$single2都在设置类的变量时指向都是一致的,变量值取对象设置的最新的一个值 * **/ |
运行结果:
hello php!
hello php!
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/lisqiong/p/6552815.html
您可能感兴趣
- php查询数据库给变量赋值(详解PHP变量传值赋值和引用赋值变量销毁)
- phpstudy 目录浏览宽度(JspStudy如何设置PHP根目录可编辑)
- php7处理方案(PHP7 安装event扩展的实现方法)
- thinkphp远程代码执行教程(ThinkPHP 5.x远程命令执行漏洞复现)
- web项目部署到阿里云服务器上(阿里云的WindowsServer2016上部署php+apache)
- php数组练习题答案(PHP 数组黑名单/白名单实例代码详解)
- phpzip压缩原理(PHP生成zip压缩包的常用方法示例)
- php面向对象怎么调用属性(PHP面向对象程序设计__tostring和__invoke用法分析)
- php队列的用法实例(PHP实现一个限制实例化次数的类示例)
- apache和php如何配置(Apache2与PHP5 for WinXP简单配置技巧)
- phpstudy怎么修改mysql版本(PhpStudy集成环境升级MySQL数据库版本的方法)
- phpstudy中php用什么版本(phpstudy是什么?phpstudy有什么用?)
- php依赖注入和控制反转的区别(php反射学习之依赖注入示例)
- php安全性问题怎么解决(实例分析10个PHP常见安全问题)
- php中怎么判断变量类型(PHP INT类型在内存中占字节详解)
- thinkphp框架案例(thinkphp5.1框架容器与依赖注入实例分析)
- 艺人吴卓羲10年警察生涯,演足10年阿Sir,系咩玩法(艺人吴卓羲10年警察生涯)
- 菲律宾潜水(菲律宾潜水价格)
- 泰国人妖(变性手术生殖器要割掉吗)
- 泰国美女(泰国人妖和女性如何区分)
- 泰国旅游业怎么样(泰国的旅游产业)
- 越南新娘(越南新娘婚介网站)
热门推荐
- phplaravel开发规范(Laravel解决nesting level错误和隐藏index.php的问题)
- python如何使用yield(YII2.0框架行为Behavior深入详解)
- pythonselenium查看当前页面元素(python+selenium 定位到元素,无法点击的解决方法)
- dedecms标题在哪改(dedecms任意页面调用栏目内容标签{dede:field.content/}的方法)
- python代码词频分析(python实现词法分析器)
- mysql高级变量查询(MySQL 使用自定义变量进行查询优化)
- php面向对象怎么用(PHP面向对象程序设计之对象克隆clone和魔术方法__clone用法分析)
- laravel请求耗时(Laravel统计一段时间间隔的数据方法)
- DataRow转换时对DBNULL的处理
- sqlserver怎么查看数据库版本(Sql Server数据库各版本功能对比)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9