`
javaeyeren
  • 浏览: 126575 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

控制 PHP 类的实例化次数!

PHP 
阅读更多

控制 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 来实例化!

分享到:
评论

相关推荐

    PHP实现一个限制实例化次数的类示例

    本文实例讲述了PHP实现一个限制实例化次数的类。分享给大家供大家参考,具体如下: 实现思路 定义一个static变量$count,用于保存实例化对象的个数 定义一个static方法create,通过该方法判断$count的值,进而判断...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

     《PHP开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第I卷,以开发...

    单例模式PHP实现代码类.zip

    - 单例模式的主要目的是限制类的实例化次数,确保任何时候都只有一个实例存在。 - 这个唯一实例可以通过一个全局访问点获取,通常是类的静态方法。 - 单例模式的关键在于防止其他部分的代码通过常规构造函数再次...

    php学习100实例(不要错过,很好的学习资料)

    在PHP编程语言的学习过程中,实例化学习是一种非常有效的途径,尤其是通过解决具体问题来掌握核心概念和技巧。"php学习100实例"是这样一个资源,它提供了100个精心设计的练习,旨在帮助初学者和有经验的开发者巩固和...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

     《PHP开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用的实例,是目前市场上实例最全面的开发类图书;书中实例来源于多位工程师的多年积累,具有很强的实用性。 本书是第I卷,以开发...

    PHP+MYSQL新手学习实例代码(留言板)

    ### PHP+MYSQL新手学习实例代码解析(留言板) 在IT领域,尤其是Web开发中,PHP与MySQL的结合是非常常见的,它们一起构建了动态网站的核心部分。本文将深入分析一个基于PHP和MySQL实现的留言板实例,从数据库设计到...

    PHP实例开发源码—星宿UI PHP源码.zip

    【PHP实例开发源码—星宿UI PHP源码.zip】是一个包含PHP开发示例和星宿UI框架的压缩包资源,对于想要学习PHP Web开发或者深入理解PHP与前端UI交互的开发者来说,这是一个非常有价值的参考资料。这个压缩包可能包含了...

    PHP实例开发源码-PPFrame PHP在线考试系统.zip

    PPFrame系统利用PHP的特性,如变量、数组、控制结构、函数、类与对象等,实现动态网页功能。 2. **数据库管理**:在线考试系统通常会依赖数据库存储试题、考生信息和考试结果。这个实例可能使用了MySQL或PDO等...

    php单件模式下的数据库连接类

    在PHP编程中,单例模式是一种设计模式,用于控制类的实例化...通过限制实例化次数,它可以帮助优化内存使用,提高应用程序的性能,并简化代码管理。在实际项目中,可以根据需求扩展此类,添加更多的数据库操作功能。

    PHPCache,php 缓存控制

    2. **实例化对象**:创建一个PHPCache对象,通常会指定一个缓存驱动,比如数据库驱动。 3. **设置缓存**:调用对象的方法来设置缓存,例如`setCache('key', 'value', $expiration)`,其中`key`是缓存的标识,`value`...

    PHP实例开发源码——雪晖PHP广告管理系统XHAD (utf-8).zip

    【标题】"PHP实例开发源码——雪晖PHP广告管理系统XHAD (utf-8).zip" 提供的是一款基于PHP语言开发的广告管理系统源代码,适用于utf-8编码环境。这个系统旨在帮助网站管理员有效地管理和发布广告,提高网站运营效率...

    PHP实例开发源码—郑州公交路线查询系统php版.zip

    【PHP实例开发源码—郑州公交路线查询系统php版.zip】是一个基于PHP语言的公交路线查询系统的源代码包。这个项目旨在提供一个实用的在线工具,帮助用户查询郑州地区的公交线路,为市民出行提供便利。从提供的文件...

    PHP实例开发源码—php视觉书签 Beta.zip

    【PHP实例开发源码—php视觉书签 Beta.zip】是一个包含PHP编程实践示例的压缩文件,主要用于展示如何使用PHP语言构建一个视觉化的书签管理应用。在这个项目中,开发者可以学习到如何利用PHP处理用户交互,存储和检索...

    php_single.rar_single

    单例模式是一种限制类实例化次数的设计模式,确保一个类只有一个实例,并提供一个全局访问点。这种模式常用于管理共享资源,如数据库连接、配置对象或日志系统。 首先,让我们了解单例模式的基本概念。在面向对象...

    PHP+MySQL编程实例(PDG)

    在IT行业中,PHP和MySQL是两个非常重要的技术,它们共同构建了互联网上许多...在提供的压缩包“PHP+MySQL编程实例(PDG)”中,很可能是包含了一系列实际的编程案例,通过这些案例,你可以深入理解并掌握上述知识的运用。

    php单例模式和工厂模式

    PHP 中的单例模式主要用于限制类的实例化次数,确保全局范围内只有一个实例,常用于管理共享资源。工厂模式则关注于对象的创建,提供一个统一的入口,使得对象的创建与使用解耦。两者都是设计模式中的重要概念,能够...

    PHP基于Redis计数器类

    // 实例化RedisCounter类 $counter = new RedisCounter('127.0.0.1', 6379); // 连接Redis $counter-&gt;connect(); // 假设我们有一个计数器key叫做'visit_count' $key = 'visit_count'; // 在并发访问下,使用...

    PHP实例开发源码-Wendasns PHP问答社区系统.zip

    【PHP实例开发源码-Wendasns PHP问答社区系统】是一个基于PHP编程语言构建的互动问答平台源代码。这个系统的设计目标是提供一个类似Stack Overflow或CSDN的在线社区环境,让用户可以提出问题、分享答案,并进行讨论...

    PHP实例开发源码-爱客网(IKPHP)php开源社区.zip

    【PHP实例开发源码-爱客网(IKPHP)php开源社区】 IKPHP是一个基于PHP语言的开源社区系统,旨在为开发者提供一个功能完善、易于扩展的社区平台。这个项目展示了PHP在构建Web应用程序方面的强大能力和灵活性。通过研究...

Global site tag (gtag.js) - Google Analytics