我有以下 PHP 类,其中包含许多其他以应用程序为中心的函数,my_new_iterative_function()
但是当我进入(我需要foreach
的)范围时,由于上下文而变得无效。传递的正确方法是什么,以便它在and内部有效。$this
$this
method_foo
method_bar
注意:这是一个更复杂问题的一部分,$fallback_order
函数按默认顺序执行,但my_new_iterative_function()
需要接受一个数组来控制执行顺序(这是$order_functions
数组的目的。
class Foo {
public function my_new_iterative_function(array $fallback_order = array('method_foo', 'method_bar')) {
$order_functions = array(
'method_foo' => function(){
// need to access $this
},
'method_bar' => function(){
// need to access $this
},
);
foreach ( $fallback_order as $index => $this_fallback ) {
$order_functions[$this_fallback]();
}
}
}
$instance_of_foo->my_new_iterative_function();
$instance_of_foo->my_new_iterative_function([ 'method_bar', 'method_foo', ]);