msgbartop
PHP语言, PHP扩展, Zend引擎相关的研究,技术,新闻分享 – 左手代码 右手诗
msgbarbottom

24 Aug 08 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顺序…

24 Aug 08 PHP源码分析之Global关键字

闲来无事,就系统的从PHP的词法分析,语法分析,opcodes生成,执行,整个流程,详细的分析了global关键字的实现。

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

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

22 Aug 08 寻找函数定义在哪个模块

今天遇到一个问题,需要查看一个函数是定义在哪个模块的, 从而去定位这个模块,翻看其源码。因为我们的环境还不容许使用Reflection APIS, 就直接写脚本了, 没什么大用,就是挺有意思的,;)

22 Aug 08 Apache主导全美100大网站

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

21 Aug 08 Firefox DNS Cache 清除 扩展 V0.1

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

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

19 Aug 08 PHP的单引号和双引号

经常有人问我,听说在PHP中处理字符串用单引号会快,那么如果存在变量替换的时候,是使用单引号连接快呢,还是双引号快呢? 简单的回答,显然是苍白无力的。 今天我们来做个实验,看看到底单引号和双引号有什么区别,谁快,谁慢。

19 Aug 08 用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.
    

17 Aug 08 PHP的老式语法

因为我的blog使用的wordpress,所以不可避免的看了看wp的源码,发现了一些很老式的语法,呵呵,难到wp的工程师都是老phper了?
if…endif:

if(con):
  expr;
elseif(con):
  expr;
else:
  expr;
endif;

while … endwhile;

while (con):
   ...
endwhile;

还有就是最近遇到了以前遇到过的一个问题, 就是如果自定义的404错误页面大小过小(512字节), IE会认为是不友好的错误页面,从而使用内建的自己的错误页面代替,唉,自作聪明的IE;

16 Aug 08 扩展PHP[Extending PHP](一)

这篇文章将会系统的介绍如何开发自己的PHP扩展, 也许你会说,网上这样的文章已经很多了,为什么还要写? 呵呵,我当然不会只是简单的重复。 这篇文章将会涉及到很多的高级技术,比如在自己的扩展中使用资源,开发一个类给脚本使用,在PHP中使用C++的对象等等,另外这篇文章还会穿插很多Zend引擎和PHP内核的知识,比如变量的实现,资源的实现,PHP4和PHP5对类的不同实现等等

Pages:  1 2 3 ...19 20 21 22 23 24 25 26 27