我想要一本函数字典。有了这个字典,我可以有一个处理程序,它接受一个函数名和一个参数数组,并执行该函数,如果它返回任何内容,则返回它返回的值。如果名称与现有函数不对应,则处理程序将引发错误。
实现 Javascript 将非常简单:
var actions = {
doSomething: function(){ /* ... */ },
doAnotherThing: function() { /* ... */ }
};
function runAction (name, args) {
if(typeof actions[name] !== "function") throw "Unrecognized function.";
return actions[name].apply(null, args);
}
但是由于函数在 PHP 中并不是真正的一流对象,所以我不知道如何轻松地做到这一点。有没有一种相当简单的方法可以在 PHP 中做到这一点?