php实现singleton()单例模式实例
本文实例讲述了php实现singleton()单例模式的方法。分享给大家供大家参考。具体实现方法如下:
common.php文件如下:
<?php
class CC
{
private static $ins;
public static function singleton()
{
if (!isset(self::$ins)){
$c = __CLASS__;
self::$ins = new $c;
}
return self::$ins;
}
public function EventResult($Id)
{
return $Id;
}
}
?>
index.php文件如下:
<html>
<head>
<title>测试</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<?php
require 'common.php';
$objCC=CC::singleton();
$r=$objCC->EventResult(7);
print_r($objCC);
echo $r."</br>";
?>
</body></html>
希望本文所述对大家的PHP程序设计有所帮助。
相关推荐
-
php实现设计模式中的单例模式详解
[概要] 保证一个类仅有一个实例,并且提供一个访问它的全局访问点[GOF95] [特点] 1.一个类只有一个实例 2.它必须自行创建这个实例 3.必须自行向整个系统提供这个实例 [结构图] [主要角色] Singleton定义一个Instance操作,允许客户访问它的唯一实例.Instance是一个类方法.负责创建它的唯一的实例. [优缺点] 1.对唯一实例的受控访问 2.缩小命名空间 单例模式是对全局变量的一种改进.它避免了那些存储唯一实例的全局变量污染命名空间 3.允许对操作和表示的精华 单
-
php单态设计模式(单例模式)实例
单态设计模式也叫单例模式: 1.单态设计模式含义: 单态模式的主要作用是保证在面向对象编程设计中,一个类只能有一个实例对象存在.作为对象的创建模式,单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统全局地提供这个实例.它不会创建实例副本,而是会向单例类内部存储的实例返回一个引用. 2.单台模式的三个关键点: ① 需要一个保存类的唯一实例的静态成员变量: ②构造函数和克隆函数必须声明为私有的,防止外部程序new类从而失去单例模式的意义: ③必须提供一个访问这个实例的公共的静态方法(通常为
-
PHP实现单例模式最安全的做法
作为一种常用的设计模式,单例模式被广泛的使用.那么如何设计一个单例才是最好的呢? 通常我们会这么写,网上能搜到的例子也大部分是这样: 复制代码 代码如下: class A{ protected static $_instance = null; protected function __construct() { //disallow new instance } protected function __clone(){ //disal
-
PHP中数据库单例模式的实现代码分享
首先我们要知道明确单例模式这个概念,那么什么是单例模式呢? 单例模式顾名思义,就是只有一个实例. 作为对象的创建模式, 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类我们称之为单例类. 单例模式的要点有三个: 一是某个类只能有一个实例: 二是它必须自行创建这个实例: 三是它必须自行向整个系统提供这个实例. 下面我们讨论下为什么要使用PHP单例模式? 多数人都是从单例模式的字面上的意思来理解它的用途, 认为这是对系统资源的节省, 可以避免重复实例化, 是一种"计划
-
php单例模式实现方法分析
本文实例讲述了php单例模式实现方法.分享给大家供大家参考.具体如下: <?php /** * @copyright 2013 maguowei.com * @author Ma Guowei <imaguowei@gmail.com> */ /** * 单例模式 * Class Single */ class Single { private $name; private static $single; private function __construct() { } public
-
php设计模式之单例模式实例分析
本文实例讲述了php设计模式之单例模式.分享给大家供大家参考.具体分析如下: 单例模式(职责模式): 简单的说,一个对象(在学习设计模式之前,需要比较了解面向对象思想)只负责一个特定的任务: 单例类: 1.构造函数需要标记为private(访问控制:防止外部代码使用new操作符创建对象),单例类不能在其他类中实例化,只能被其自身实例化: 2.拥有一个保存类的实例的静态成员变量 3.拥有一个访问这个实例的公共的静态方法(常用getInstance()方法进行实例化单例类,通过instanceof操
-
浅析php单例模式
本系列文章来总结一下设计模式在PHP中的应用,这是第一篇创建型模式之单例模式. 一.设计模式简介 首先我们来认识一下什么是设计模式: 设计模式是一套被反复使用.容易被他人理解的.可靠的代码设计经验的总结. 设计模式不是Java的专利,我们用面向对象的方法在PHP里也能很好的使用23种设计模式. 那么我们常说的架构.框架和设计模式有什么关系呢? 架构是一套体系结构,是项目的整体解决方案:框架是可供复用的半成品软件,是具体程序代码.架构一般会涉及到采用什么样的框架来加速和优化某部分问题的解决,而好的
-
php单例模式示例分享
单例模式主要使用于数据库的连接, 确保数据库一个类只有一个实例, 并且向整个系统提供这个实例.从而避免new操作消耗资源, 同时避免数据库出现too many connection信息. 要点有三个: 1. 必须只有一个实例. 2. 必须自动创建这个实例. 3. 必须向整个系统提供这个实例. 复制代码 代码如下: <? class mysql{ privete static $instance ;//保存实例 //构造函数声明为private, 防止直
-
php实现singleton()单例模式实例
本文实例讲述了php实现singleton()单例模式的方法.分享给大家供大家参考.具体实现方法如下: common.php文件如下: 复制代码 代码如下: <?php class CC { private static $ins; public static function singleton() { if (!isset(self::$ins)){ $c = __CLASS__; self::$ins =
-
Android 单例模式 Singleton 简单实例设计模式解析
单例模式 Singleton 简单实例设计模式解析 前言 今天我来全面总结一下Android开发中最常用的设计模式 - 单例模式. 关于设计模式的介绍,可以看下我之前写的:1分钟全面了解"设计模式" 目录 1. 引入 1.1 解决的是什么问题 之前说过,设计模式 = 某类特定问题的解决方案,那么单例模式是解决什么问题的解决方案呢? 含义:单例 =一个实例: 解决的问题:降低对象之间的耦合度 解决方法:单例模式,即实现一个类只有一个实例化对象,并提供一个全局访问点 1.2 实例引入 接下
-
Android编程设计模式之单例模式实例详解
本文实例讲述了Android编程设计模式之单例模式.分享给大家供大家参考,具体如下: 一.介绍 单例模式是应用最广的模式之一,也可能是很多初级工程师唯一会使用的设计模式.在应用这个模式时,单例对象的类必须保证只有一个实例存在.许多时候整个系统只需要拥有一个全局对象,这样有利于我们协调系统整体的行为. 二.定义 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例. 三.使用场景 确保某个类有且只有一个对象的场景,避免产生多个对象消耗过多的资源,或者某种类型的对象只应该有且只有一个.例
-
C#单例模式(Singleton Pattern)实例教程
本文以实例形式讲述了C#单例模式(Singleton Pattern)的实现方法,分享给大家供大家参考.具体实现方法如下: 一般来说,当从应用程序全局的角度来看,如果只允许类的一个实例产生,就可以考虑单例模式. 1.即时加载的单例模式 把类的实例赋值给类的一个静态字段. class Program { static void Main(string[] args) { Logger log = Logger.GetInstance(); log.WriteToFile(); Console.Re
-
JavaScript设计模式之单例模式实例
<Practical Common Lisp>的作者 Peter Seibel 曾说,如果你需要一种模式,那一定是哪里出了问题.他所说的问题是指因为语言的天生缺陷,不得不去寻求和总结一种通用的解决方案. 不管是弱类型或强类型,静态或动态语言,命令式或说明式语言.每种语言都有天生的优缺点.一个牙买加运动员, 在短跑甚至拳击方面有一些优势,在练瑜伽上就欠缺一些. 术士和暗影牧师很容易成为一个出色的辅助,而一个背着梅肯满地图飞的敌法就会略显尴尬. 换到程序中, 静态语言里可能需要花很多功夫来实现装饰
-
使用设计模式中的Singleton单例模式来开发iOS应用程序
单例设计模式确切的说就是一个类只有一个实例,有一个全局的接口来访问这个实例.当第一次载入的时候,它通常使用延时加载的方法创建单一实例. 提示:苹果大量的使用了这种方法.例子:[NSUserDefaults standerUserDefaults], [UIApplication sharedApplication], [UIScreen mainScreen], [NSFileManager defaultManager] 都返回一个单一对象. 你可能想知道你为什么要关心一个类有多个的实例.代码
-
Java单例模式实例简述
本文实例讲述了Java的单例模式,是Java程序设计中非常重要的概念.分享给大家供大家参考.具体分析如下: 所谓单子模式就是在整个应用过程中只向外界提供唯一的一份实例,也就是说在应用时只有一个实例,这样也就不用反反复复的创建实例了.那么根据他的要求,看下面一个最简单的单例模式的代码: public class Singleton { private static Singleton single = new Singleton(); private Singleton(){ } public s
-
Python单例模式实例分析
本文实例讲述了Python单例模式的使用方法.分享给大家供大家参考.具体如下: 方法一 复制代码 代码如下: import threading class Singleton(object): __instance = None __lock = threading.Lock() # used to synchronize code def __init__(self): "disable the __init__ method&
-
C++实现 单例模式实例详解
设计模式之单例模式C++实现 一.经典实现(非线程安全) class Singleton { public: static Singleton* getInstance(); protected: Singleton(){} private: static Singleton *p; }; Singleton* Singleton::p = NULL; Singleton* Singleton::getInstance() { if (NULL == p) p = new Singleton()
-
php设计模式 Singleton(单例模式)
复制代码 代码如下: <?php /** * 单例模式 * * 保证一个类仅有一个实例,并提供一个访问它的全局访问点 * */ class Singleton { static private $_instance = null; private function __construct() { } static public function getInstance() { if(is_null(self::$_instance)) { self::$_instance = new Singl
随机推荐
- AngularJS教程之MVC体系结构详解
- 走进AngularJs之过滤器(filter)详解
- 浅谈Docker安全机制内核安全与容器之间的网络安全 原创
- SqlServer修改数据库文件及日志文件存放位置
- AngularJS使用ng-Cloak阻止初始化闪烁问题的方法
- Webpack+Vue如何导入Jquery和Jquery的第三方插件
- swift MD5加密源码的实例详解
- mybatis教程之查询缓存(一级缓存二级缓存和整合ehcache)
- php做下载文件的实现代码及文件名中乱码解决方法
- 火车采集器 免费版使出收费版本功能实现原理
- javascript数字验证的实例代码(推荐)
- js获取height和width的方法说明
- JavaScript跨浏览器获取页面中相同class节点的方法
- webpack踩坑之路图片的路径与打包
- JQuery 选择和过滤方法代码总结
- Bootstrap实现基于carousel.js框架的轮播图效果
- PHP5.3与5.5废弃与过期函数整理汇总
- Android仿微信发朋友圈浏览图片效果
- 详解IOS11新特性之larget title的实现
- js实现删除li标签一行内容