php5 的对象模型
php5的对象模型把对象看成与任何其它数据类型不同,通过引用来传递. php不要求你通过引用(reference)显性传递与返回对象. 在本章的最后将会详细阐述基于引用的对象模型. 它是php5中最重要的新特性. 【程序编程相关:架设Nokia J2ME开发环境 Ste】php5有一个单重继承的,限制访问的,可以重载的对象模型. 本章稍后会详细讨论的”继承”,包含类间的父-子关系. 另外,php支持对属性与方法的限制性访问. 你可以声明成员为private,不允许外部类访问. 最后,php允许一个子类从它的父类中重载成员. 【推荐阅读:tiles和struts初步应用】
在php的前几个版本中,脚本默认复制对象.现在php5只移动句柄,需要更少的时间. 脚本执行效率的提升是由于避免了不必要的复制. 在对象体系带来复杂性的同时,也带来了执行效率上的收益. 同时,减少复制意味着占用更少的内存,可以留出更多内存给其它操作,这也使效率提高. 【扩展信息:判断密码是不是简单文本的函数】有了更直接的对象模型,就拥有了附加的优势: 效率提高, 占用内存少,并且具有更大的灵活性.zand引擎2具有更大的灵活性. 一个令人高兴的发展是允许析构--在对象销毁之前执行一个类方法. 这对于利用内存也很有好处,让php清楚地知道什么时候没有对象的引用,把空出的内存分配到其它用途.补充:
php5的内存管理
对象传递 php5使用了zend引擎ii,对象被储存于独立的结构object store中,而不像其它一般变量那样储存于zval中(在php4中对象与一般变量一样存储于zval).... 下一页