最近做的一个项目是基于PHP4的, 习惯了PHP5的面对对象,面对PHP4,难免会有很多不爽:
不支持public, static, private, protected关键字, 最郁闷的是,不支持析构函数:
本文就将借助PHP的register_shutdown_function来在PHP4中模拟类的析构函数
当你使用ajax的时候,json是一个很方便的数据传输手段.
但是对于很多人来说,经常会遇到的一个很令人头疼的问题就是"invalid label"错. 明明json串看起来是对的,怎么还会出错呢?
今天看了下我的blog读者分布图, 发现了一个有趣的现象:
从这个图中,我们就可以看出,国内那些地区的IT业比较发达,北京,上海,深圳,,,,
另外还有很多国外的朋友,不过,这个我比较纳闷,估计是外籍华人吧?
我前面的文章介绍了PHP变量的内部表示,但是,问题是,这些内部表示是如何和用户脚本中的变量联系起来的呢?也就是说,如果我在脚本中写下:
<?php $var = "laruence"; echo $var; ?>
ZE是如何把我的变量var和内部结构zval联系起来的呢?
with 19 Comments今天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顺序...
with 13 Comments闲来无事,就系统的从PHP的词法分析,语法分析,opcodes生成,执行,整个流程,详细的分析了global关键字的实现。
with 14 Comments或许你知道,或许你不知道,PHP是一个弱类型,动态的脚本语言。所谓弱类型,就是说PHP并不严格验证变量类型(严格来讲,PHP是一个中强类型语言,这部分内容会在以后的文章中叙述),在申明一个变量的时候,并不需要显示指明它保存的数据的类型。而PHP的核心ZE是用C编写的,大家都知道C是一个强类型语言,也就是说,在C中所有的变量在它被声明到最终销毁,都只能保存一种类型的数据。 那么PHP是如何在ZE的基础上实现弱类型的呢?且听我慢慢道来....
with 45 Comments今天遇到一个问题,需要查看一个函数是定义在哪个模块的, 从而去定位这个模块,翻看其源码。因为我们的环境还不容许使用Reflection APIS, 就直接写脚本了, 没什么大用,就是挺有意思的,;)
随着同 IIS 的竞争以及 Lighttpd 的崛起,关于 Apache 市场下滑的声音不绝于耳,但 Pingdom 的统计表明,Apache仍然主导全美100大网站,占据了49%的市场份额。在 Pingdom 检测的众多网站中,Web服务器的使用五花八门,出于好奇,我们决定统计一下什么Web服务器在全美100大网站中占主导地位。我们通过检查 HTTP 头获得这些信息,100大网站的依据为 Alexa.com。
with 3 Comments