|
发表于 2011-12-12 22:00:14
|
显示全部楼层
本帖最后由 五点晨曦 于 2011-12-12 22:01 编辑
看了些教程说 常需要调用的东西存储在静态变量 比较好。,直接访问内存就行了。
这句话放在C#或者JAVA里面或者是对的,但在PHP里面完全是错的,因为PHP的运行机制跟前面两种语言完全不同。
PHP每次有http请求都会重新初始化所有资源,然后在处理完该http请求以后释放所有资源,对于每个连接都是如此,包括用static关键字定义的所谓的“静态变量”。
回答楼主的问题:静态变量的生存周期就是一次http请求,十分短暂。就算你定义了一个类,里面有个静态变量a=0,代码里面每次http访问都 a++ 然后echo a,但你每次都只会看见a=1。因为PHP根本就没有完整意义的static,PHP的static变量只是允许你不实例化对象就通过类名引用,但却无法常驻内存,单纯地使用static变量对于性能不会有什么提升。
如果要提升网站性能,LZ要找的东西不是静态变量,而是zend optimizer和memcached |
|