如何在php中声明这样的函数?
class Test {
function __construct(){
$this->method = function($var){ // <-- declaring a function javascript alike
echo $var;
};
}
function func(){
if($this->method){
$this->method('test');
}
}
}
$Test = new Test();
$Test->func();
答案 0 :(得分:3)
你可以这样做。只需在您的班级中加public $method;
。
除非你有特殊的原因,否则在变量中定义函数是不好的做法,因为它可能很难调试。
答案 1 :(得分:2)
你可以从PHP 5.3开始,它引入了匿名函数(闭包)。请参阅manual explaing them。
答案 2 :(得分:2)
PHP 5.3:http://php.net/manual/en/functions.anonymous.php PHP 5.2(丑陋的解决方案):http://php.net/manual/en/function.create-function.php
顺便说一下,我认为没有理由在你的代码中使用匿名函数。只需使用该功能保护方法。