Press "Enter" to skip to content

PHP5多层继承顺序的bug

今天guoxiaod提出了一个问题,如下:

<?php
class a extends b {
};
class b extends c{
};
class c{
};
?>
  

会导致fatal error:

PHP Fatal error:  Class 'b' not found in /home/xinchen/1.php on line 2
Fatal error: Class 'b' not found in /home/xinchen/1.php on line 2

分析这个问题,是运行阶段出错,经过分析PHP的编译,执行过程,得出如下的parsing顺序...

Filed in Linux/Unix, PHP应用, PHP源码分析
with 13 Comments

深入理解PHP原理之变量(Variables inside PHP)

或许你知道,或许你不知道,PHP是一个弱类型,动态的脚本语言。所谓弱类型,就是说PHP并不严格验证变量类型(严格来讲,PHP是一个中强类型语言,这部分内容会在以后的文章中叙述),在申明一个变量的时候,并不需要显示指明它保存的数据的类型。而PHP的核心ZE是用C编写的,大家都知道C是一个强类型语言,也就是说,在C中所有的变量在它被声明到最终销毁,都只能保存一种类型的数据。 那么PHP是如何在ZE的基础上实现弱类型的呢?且听我慢慢道来....

Filed in PHP应用, PHP源码分析
with 45 Comments

Apache主导全美100大网站

随着同 IIS 的竞争以及 Lighttpd 的崛起,关于 Apache 市场下滑的声音不绝于耳,但 Pingdom 的统计表明,Apache仍然主导全美100大网站,占据了49%的市场份额。在 Pingdom 检测的众多网站中,Web服务器的使用五花八门,出于好奇,我们决定统计一下什么Web服务器在全美100大网站中占主导地位。我们通过检查 HTTP 头获得这些信息,100大网站的依据为 Alexa.com。

Filed in 转载, 随笔
with 3 Comments

Firefox DNS Cache 清除 扩展 V0.1

推荐一个小东郭写的Friefox扩展:Firefox DNS Cache v0.1,支持firefox到3.*

做IT开发的工程师,经常需要配置host来进行开发,而不方便的是,每次修改了hosts以后,都要重启浏览器来使hosts生效。 这个扩展就是为了解决这个问题而来的, 使用了它,你就不再需要重启浏览器了

Filed in Js/CSS, 随笔
with 6 Comments

用Tidy优化你的HTML(Optimizing HTML with Tidy)

最近试用了很多的编辑器, 都有一个共同的缺点, 就是如果直接输入HTML,并且HTML格式错误, 有没有闭合的标签,就有可能导致最终的页面乱掉。 想了几个办法效果都不太好, 呵呵,tidy来了! 手册介绍:

  Tidy is a binding for the Tidy HTML clean and repair utility which allows you to not only clean and otherwise manipulate HTML documents, but also traverse the document tree.
    

Filed in PHP应用
with 4 Comments