随着空间“电一下”项目的顺利上线, 我也结束了在雅虎的最后一个项目。 中午和同事一起吃了饭,大家不痛不痒的聊着,中午回来进门的哪一刻,我习惯性的摸了摸胸前,想拿工牌刷卡,但又很快的意识到,我已经不再是这家公司的一份子了。 晚上和几个老平台的同事们喝酒,玩着“过7”, 呵呵,很快就都不行了。呵呵。 太多的人,值得感谢,太多的事情,值得怀念。 全鑫,不骄,晓东,志刚,霍旺,晕晕,玲玲,小哲,建州,建波,汤爷,老雷,,,等等, 谢谢你们这一年来的帮助,在你们身上我学到很多东西。 天下没有不散的筵席,我只能怀着感恩的心,认真对待每一天。
最近做的一个项目是基于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, 就直接写脚本了, 没什么大用,就是挺有意思的,;)