msgbartop
PHP应用,PHP源码分析,Zend引擎分析,Web相关技术研究,Web技术分享 – 左手代码 右手诗
msgbarbottom

18 Aug 10 将PHP Manual融入(g)Vim

首先说个题外话: Vim发布7.3了..

在翻看Vim插件的时候, 发现了一个比较有意思的应用(非插件): 把PHP的手册融如Vim中, 在Vim中, 按”K”, 就可以跳转到光标下函数的手册说明…

03 Aug 10 深入理解PHP原理之异常机制

PHP的异常机制的原理是什么?

在PHP每一个可独立执行的op array最后的ZEND_HANDLE_EXCEPTION是用来干什么呢?

30 Jul 10 注意PHP对字符串的递增运算

有同学问了一个问题:

<?php
for($i = 'A'; $i <= 'Z'; $i++) {
    echo $i;
}

输出是啥?

说个题外话: Blog现在支持订阅评论了, 同学们有提问以后等我回答的, 可以在留言提问的时候, 选择:Notify me of followup comments via e-mail

26 Jul 10 PHP运算符优先级的一个例外

今天在老王的技术手册看到一个问题:

<?php
if ($a = 100 && $b = 200) {
	var_dump($a, $b);
}

输出是什么?

这个问题, 咋一看或许觉得简单, 但其实仔细推敲并不简单.

23 Jul 10 终于搞定了IE6下的显示

之前就有博友跟我说, 我的blog在IE6下页面乱了.

一直懒得弄, 今天有点时间, 打算调整下.

找了半天, 罪魁祸首原来是我给pre设置的左边框, 具体原因我还不知道.. 有知道同学, 指点我一下… hack以后,,就好了:

pre {
 border-left: 15px corlor solid;
_border-left:none; //可恶的IE6
}

每当这个时候, 我就会忠心的感谢发现这些css Hack的先驱们….

16 Jul 10 定制自己的PHP语法-在PHP中实现unless

今天有人问我, 说他看到有PHPer在说unless语句, 我很是纳闷, 后来才知道, 原来是一个国外的PHP大牛自己Hack了PHP的源码, 加入了一个unless语句.

很有意思, 今天, 我也就在这里为大家演示, 如何为我们自己的PHP加入unless语句..

16 Jul 10 Facebook发布又一PHP改进项目XHP

根据Github上项目的文档维基,XHP是一个PHP扩展,通过它,开发人员可以直接在PHP代码中内嵌XML文档片段,作为合法的PHP表达式。这样,PHP就成为一个更为严格的模板引擎,大大简化了实现可重用组件的工作。

22 Jun 10 ReflectionFunction(Method)引用参数导致Invocation failed

今天同事反馈一个问题, PHP5.2.x在使用反射做函数包装的时候, 得到”Invocation failed”的异常, 而使用call_user_func代替则不会,

原逻辑太复杂, 经过精简以后可重现异常的代码如下(使用ReflectionFunction为例, ReflectionMethod类似):

function who(&$name) {
    echo $name;
}
$name = "laruence";
$method = new ReflectionFunction("who");
$method->invokeArgs(array($name));
//异常:
Uncaught exception 'ReflectionException' with message
'Invocation of function who() failed'

21 Jun 10 PHP调试技术手册发布(1.0.0 pdf)

黑夜路人前段时间, 本着分享/总结的精神, 计划要总结下PHP常用的调试技术, 就一些问题找到了我..

如今第一版的PHP调试技术手册已经发布.

冠以我名, 我甚感惶恐, 只能一并赞下小黑的nice了~

下载地址: http://heiyeluren-doc.googlecode.com/files/PHP-Debug-Manual-public.pdf

20 Jun 10 深入理解PHP之匿名函数

PHP中, 传递Callback的方式, 一直很丑陋. 在PHP5.3以前, 我们只有俩种选择:

1. 字符串的函数名
2. 使用create_function的返回值

在PHP5.3以后, 我们多了一个选择, 也就是Closure,

$func = function () { ... };
array_walk($arr, $func);

Pages: 1 2 3 4 5 6 7 8 ...14 15 16