Press "Enter" to skip to content

终于搞定了IE6下的显示

之前就有博友跟我说, 我的blog在IE6下页面乱了.
一直懒得弄, 今天有点时间, 打算调整下.
找了半天, 罪魁祸首原来是我给pre设置的左边框, 具体原因我还不知道.. 有知道同学, 指点我一下... hack以后,,就好了:

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

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

Filed in 随笔
with 15 Comments

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'

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

深入理解PHP之匿名函数

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

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

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

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

Filed in PHP应用
with 14 Comments