我们可以在php中别名(保存到变量)一个类方法

dav*_*ave 1 php methods alias class function

这是一个示例类:

public class example
 {
     private $foof;         

     public function __construct()
     {
          $this->foof = $this->foo;
     }

     public function foo($val=0)
     {
             // do something...
     }
 }
Run Code Online (Sandbox Code Playgroud)

所以基本上,在示例代码的构造中,是否可以将一个类方法分配给变量?

最终我想要的是拥有一个关联数组,其中包含所有类别方法...这可能在PHP?

Thi*_*ter 5

在PHP5.3 +中(无论如何你应该使用它!)你可以简单地创建一个调用你的方法的匿名函数:

$this->foof = function() {
    $this->foo(1);
};
Run Code Online (Sandbox Code Playgroud)

但是,您无法使用它进行调用$this->foof()- 您必须先将其分配给变量:$foof = $this->foof; $foof();


在较旧的PHP版本中,您不能轻易地执行此操作 - create_function()不会创建闭包因此$this在那里不可用.