类继承的问题 继承类phpclass 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 father类的名字将fatherclass改成fatherinclude 'father.php'; 这里 http://www.laruence.com/2008/08/24/427.html php脚本先被编译成opcode,然后执行3楼文章的作者好像是个php大牛...看过一些源码级分析,对他的头像有印象他解释了类继承的编译机制和多重继承的BUG,能解决楼主的第一个疑问2、如果把fatherClass里的内容直接代替include语句,运行正确;这个说明include(require?xxxxxx_once?)是在执行期才运行的,编译时压根没鸟它总结下,zend读取php脚本后,如果发现干净的无继承的类,就先建立出来(接近汇编的'类'结构而不是php的'类'),如果发现有继承类并且他的父类已存在,同样建立,其他代码继续编译。这时php脚本变成了opcode。执行时按顺序运行代码,比如include读取其他php脚本(opcode),复杂继承类的建立,执行汇编码的阶段不会智能识别类定义,只会严格按照php代码的顺序执行。如果我的想法是对的倒是可以解释楼主的疑问 先有儿子,后有老子。本来就是违背常理的你不按常理办事,还说是 php 的 bug,就有点过分了如果 php 做多趟扫描而减低了速度,你有该说 php 太慢了 与其说bug不如解释为“不够人性化”为了适应各种设计模式,我觉得编译阶段智能一点很好啊~甚至以后的php版本可能做到html语法解释器那样的智能补全高容错php提供了opcode缓存扩展,不光是多行扫描的词法解释,再耽误性能的编译机制也有办法解决~更消除了OOP的多文件带来的磁盘IO开销 理解為是php5的一個bug,如果要解釋,可以看3樓大神的地址。寫程序時,按版主講的,先聲明,再使用原則。 多谢各位答疑解惑,平时写代码根本不会先实例化后定义,只是在运行一个SDK的时候发现的这个小问题 从URL指向本地其他网页的问题 不显示删除回复显示所有回复显示星级回复显示得分回复 一个站2台服务器-可是图片就在一个服务器上。那么另外一台服务器怎么访问这个图片呢? 我用curl模拟访问为何结果不同? php 合并 两个mysql 表格问题,请教 取最后一个值的正则表达式问题 mssql联接一直出错 哪有php的供求信息发布程序下载? 怎么用php读jsp的session呢? 关于邮件的问题,imap_delete标记删除! PHP怎么判断两个ipv6(双引号形式的)是否在同一网段 smarty怎么同时循环两个数组 请教一个PHPExcel问题
3楼文章的作者好像是个php大牛...看过一些源码级分析,对他的头像有印象
他解释了类继承的编译机制和多重继承的BUG,能解决楼主的第一个疑问2、如果把fatherClass里的内容直接代替include语句,运行正确;
这个说明include(require?xxxxxx_once?)是在执行期才运行的,编译时压根没鸟它总结下,zend读取php脚本后,如果发现干净的无继承的类,就先建立出来(接近汇编的'类'结构而不是php的'类'),如果发现有继承类并且他的父类已存在,同样建立,其他代码继续编译。这时php脚本变成了opcode。执行时按顺序运行代码,比如include读取其他php脚本(opcode),复杂继承类的建立,执行汇编码的阶段不会智能识别类定义,只会严格按照php代码的顺序执行。
如果我的想法是对的倒是可以解释楼主的疑问
如果 php 做多趟扫描而减低了速度,你有该说 php 太慢了
与其说bug不如解释为“不够人性化”
为了适应各种设计模式,我觉得编译阶段智能一点很好啊~
甚至以后的php版本可能做到html语法解释器那样的智能补全高容错
php提供了opcode缓存扩展,不光是多行扫描的词法解释,再耽误性能的编译机制也有办法解决~更消除了OOP的多文件带来的磁盘IO开销