`
- 浏览:
126575 次
- 性别:
- 来自:
北京
-
控制 php 类的实例化次数!为了保证服务器资源的有效利用,而且一个类比方说模板啊,数据库什么的,在一个页面内只需要实例化一次!也就是在内存中只运行一个实例!那么为了避免重复实例化,那么控制 php 类的实例化次数,是很有必要的!方法其实很简单:就是给类一个外部接口,私有化(private)构造函数,抛弃可以在类外部使用new实例化该类的方法!以下,就是我给出的一个例子,相信大家一看就明白了!( PHP5 以上版本! )
<?php
class test{
const name = 'test';
public static $havenew = false;
public $name = '我被限制为只能实例化一次了!';
private function __construct(){
}
function __destruct(){
self::$havenew = false;
}
public function inter(){
if(self::$havenew){
echo '类 '.self::name.' 已被实例化!';
return NULL;
}else{
self::$havenew = true;
return new self;
}
}
}
$class1 = test::inter();
var_dump($class1);
echo '<br />';
$class2 = test::inter();
var_dump($class2);
?>
这里都是实例通过test里inter()这个方法实例化对象的!因为构造本身不可以直接访问,所以也不存在可以使用new 来实例化!
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
本文实例讲述了PHP实现一个限制实例化次数的类。分享给大家供大家参考,具体如下: 实现思路 定义一个static变量$count,用于保存实例化对象的个数 定义一个static方法create,通过该方法判断$count的值,进而判断...
《PHP开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第I卷,以开发...
- 单例模式的主要目的是限制类的实例化次数,确保任何时候都只有一个实例存在。 - 这个唯一实例可以通过一个全局访问点获取,通常是类的静态方法。 - 单例模式的关键在于防止其他部分的代码通过常规构造函数再次...
在PHP编程语言的学习过程中,实例化学习是一种非常有效的途径,尤其是通过解决具体问题来掌握核心概念和技巧。"php学习100实例"是这样一个资源,它提供了100个精心设计的练习,旨在帮助初学者和有经验的开发者巩固和...
《PHP开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第I卷,以开发...
### PHP+MYSQL新手学习实例代码解析(留言板) 在IT领域,尤其是Web开发中,PHP与MySQL的结合是非常常见的,它们一起构建了动态网站的核心部分。本文将深入分析一个基于PHP和MySQL实现的留言板实例,从数据库设计到...
【PHP实例开发源码—星宿UI PHP源码.zip】是一个包含PHP开发示例和星宿UI框架的压缩包资源,对于想要学习PHP Web开发或者深入理解PHP与前端UI交互的开发者来说,这是一个非常有价值的参考资料。这个压缩包可能包含了...
PPFrame系统利用PHP的特性,如变量、数组、控制结构、函数、类与对象等,实现动态网页功能。 2. **数据库管理**:在线考试系统通常会依赖数据库存储试题、考生信息和考试结果。这个实例可能使用了MySQL或PDO等...
在PHP编程中,单例模式是一种设计模式,用于控制类的实例化...通过限制实例化次数,它可以帮助优化内存使用,提高应用程序的性能,并简化代码管理。在实际项目中,可以根据需求扩展此类,添加更多的数据库操作功能。
2. **实例化对象**:创建一个PHPCache对象,通常会指定一个缓存驱动,比如数据库驱动。 3. **设置缓存**:调用对象的方法来设置缓存,例如`setCache('key', 'value', $expiration)`,其中`key`是缓存的标识,`value`...
【标题】"PHP实例开发源码——雪晖PHP广告管理系统XHAD (utf-8).zip" 提供的是一款基于PHP语言开发的广告管理系统源代码,适用于utf-8编码环境。这个系统旨在帮助网站管理员有效地管理和发布广告,提高网站运营效率...
【PHP实例开发源码—郑州公交路线查询系统php版.zip】是一个基于PHP语言的公交路线查询系统的源代码包。这个项目旨在提供一个实用的在线工具,帮助用户查询郑州地区的公交线路,为市民出行提供便利。从提供的文件...
【PHP实例开发源码—php视觉书签 Beta.zip】是一个包含PHP编程实践示例的压缩文件,主要用于展示如何使用PHP语言构建一个视觉化的书签管理应用。在这个项目中,开发者可以学习到如何利用PHP处理用户交互,存储和检索...
单例模式是一种限制类实例化次数的设计模式,确保一个类只有一个实例,并提供一个全局访问点。这种模式常用于管理共享资源,如数据库连接、配置对象或日志系统。 首先,让我们了解单例模式的基本概念。在面向对象...
在IT行业中,PHP和MySQL是两个非常重要的技术,它们共同构建了互联网上许多...在提供的压缩包“PHP+MySQL编程实例(PDG)”中,很可能是包含了一系列实际的编程案例,通过这些案例,你可以深入理解并掌握上述知识的运用。
PHP 中的单例模式主要用于限制类的实例化次数,确保全局范围内只有一个实例,常用于管理共享资源。工厂模式则关注于对象的创建,提供一个统一的入口,使得对象的创建与使用解耦。两者都是设计模式中的重要概念,能够...
// 实例化RedisCounter类 $counter = new RedisCounter('127.0.0.1', 6379); // 连接Redis $counter->connect(); // 假设我们有一个计数器key叫做'visit_count' $key = 'visit_count'; // 在并发访问下,使用...
【PHP实例开发源码-Wendasns PHP问答社区系统】是一个基于PHP编程语言构建的互动问答平台源代码。这个系统的设计目标是提供一个类似Stack Overflow或CSDN的在线社区环境,让用户可以提出问题、分享答案,并进行讨论...
【PHP实例开发源码-爱客网(IKPHP)php开源社区】 IKPHP是一个基于PHP语言的开源社区系统,旨在为开发者提供一个功能完善、易于扩展的社区平台。这个项目展示了PHP在构建Web应用程序方面的强大能力和灵活性。通过研究...