PHP单例模式与常驻内存
来源:互联网 发布:计算机与网络 期刊 编辑:程序博客网 时间:2024/06/06 02:11
也许有经验的PHP程序员最感到痛苦的地方是PHP的解释运行机制。这种运行机制使得每个PHP页面被解释执行后,所有的相关资源都会被回收。也就是 说,PHP在语言级别上没有办法让某个对象常驻内存。在PHP中,所有的变量都是页面级的,无论是全局变量,还是类的静态成员,都会在页面执行完毕后被清 空。以JSP为例,在JSP中,Java Bean的scope有四种有效值:Page、Application、Session、Request,分别对应页面、程序、会话、哀求四种生存期。但 在PHP中,只有Page一种生存期。
在PHP中,假如需要在页面之间共享数据,需要手动将变量保存到预定义的全局变量$GLOBALS或$_SESSION中。PHP会将这些变量保存在某个 文件中,以便下次执行页面时读取。但是,这种方式存在着极大的限制,除了效率的低下外,它还无法保存引用外部资源的变量,例如文件、Socket、数据库 连接等,而正是这些资源最需要被缓存。
在PHP中,假如需要在页面之间共享数据,需要手动将变量保存到预定义的全局变量$GLOBALS或$_SESSION中。PHP会将这些变量保存在某个 文件中,以便下次执行页面时读取。但是,这种方式存在着极大的限制,除了效率的低下外,它还无法保存引用外部资源的变量,例如文件、Socket、数据库 连接等,而正是这些资源最需要被缓存。
这导致了许多高级的模式和技术无法使用。例如,即使是最简朴的Singleton模式也无法在PHP中被应用。虽然可以使用PHP写出Singleton 的代码,但是由于PHP中没有真正全局的static变量,所以每次页面被执行时,都会重新建立新的对象,这样也就完全失去了Singleton的意义。 这也导致复杂的OR Mapping技术难以应用,因为没有对象的缓存机制,OR Mapping的开销已经使这种技术失去了意义。
0 0
- PHP常驻内存与单例模式
- PHP单例模式与常驻内存
- PHP常驻内存与单例模式
- PHP单例模式与常驻内存
- PHP单例模式与工厂模式
- PHP (单例模式与工厂模式)
- PHP 单例模式实例与解析
- php单例模式
- php单例模式
- PHP单例模式
- PHP单例模式
- PHP单例模式
- php 单例模式
- php单例模式
- PHP 单例模式
- PHP 单例模式
- php 单例模式
- php单例模式
- 剑指offer-面试题6:重建二叉树
- 蓝桥杯 历届试题 打印图形
- android studio 如何进行格式化代码 快捷键必备
- centos 7 yum install mysql 安装mariadb 后 mysql 无法启动的解决方法
- HBase客户端访问超时的多个因素及参数
- PHP单例模式与常驻内存
- 亚稳态
- Jquery validate 静态方法和常用方法的使用
- maven 项目(四) spring集成springMVC开发统一接入API(准备工作:第二部分)
- context解释
- Linux笔记(35)——yum在线安装
- Android网络问题
- 两台centos之间传送文件
- 自定义view(二)