注意:我對這篇文章有凝結成我個人的wiki:http://wiki.chacha102.com/Lambda - 享受lambda函數不是邏輯
我有一些麻煩,在PHP LAMBDA風格的功能。
首先,這個工程:
$foo = function(){ echo "bar"; };
$foo();
其次,這個工程:
class Bar{
public function foo(){
echo "Bar";
}
三,這個工程:
$foo = new stdClass;
$foo->bar = function(){ echo "bar"; };
$test = $foo->bar;
$test();
但是,這並不工作:
$foo = new stdClass;
$foo->bar = function(){ echo "bar"; };
$foo->bar();
而且,這也不行
class Bar{
public function foo(){
echo "Bar";
}
$foo = new Bar;
$foo->foo = function(){ echo "foo"; };
$foo->foo(); // echo's bar instead of Foo.
我的問題是爲什麼呢?,我怎麼能保證這兩者:
$foo->bar = function(){ echo "test"; };
$foo->bar();
這
$foo = new Bar;
$foo->bar();
正確叫什麼名字?如果您可以指向說明爲何出現此問題的文檔,請加點。
這與其他評論一起讓我設置一個'stdObj'類,我可以使用它來可靠地創建一個沒有類(類)的對象。謝謝! – 2010-01-17 16:53:34