1
關閉似乎沒有完全暴露於反思。在檢查作爲一個對象,它似乎並不具有任何有用的東西:我可以找到PHP匿名函數的定義位置嗎?
$foo = function ($a, $b) {};
$ref = new ReflectionObject($foo);
var_dump($ref->getFileName()); // false
你可以匿名函數的參數:
$invoker = $ref->getMethod('__invoke');
var_dump($invoker->getParameters()); // "a" and "b"!
但不是它被定義爲:
var_dump($invoker->getFileName()); // false
有沒有想法?
感謝。我只部分閱讀了文檔,並假定「name」參數需要一個字符串。 – 2013-04-10 16:44:14
(針對未來的訪問者)我更新了我的回答,以表明它可以對'__construct()'參數進行閉包。 – 2013-04-10 16:50:23