Php 调用用户函数数组不适合我

Php 调用用户函数数组不适合我,php,Php,我必须调用一个方法,当我遇到如下情况时: class foo { function bar($arg, $arg2) { echo __METHOD__, " got $arg and $arg2\n"; } } 这是工作,但我有一个库类,其中包含许多类 例如,要调用类foo和方法栏,我调用以下命令: $core->FOO->bar(1, 2); 当我现在尝试 call_user_func_array(array($core, "FOO", "ba

我必须调用一个方法,当我遇到如下情况时:

class foo {
    function bar($arg, $arg2) {
        echo __METHOD__, " got $arg and $arg2\n";
    }
}

这是工作,但我有一个库类,其中包含许多类

例如,要调用类foo和方法栏,我调用以下命令:

$core->FOO->bar(1, 2);
当我现在尝试

call_user_func_array(array($core, "FOO", "bar"), array(1, 2));

I get following error: 

Warning: call_user_func_array() expects parameter 1 to be a valid callback, 
array must have exactly two members
有没有办法解决我的问题

编辑:

谢谢你们的帮助,我在你们的帮助下解决了这个问题。 我打电话


应该是这样的:

$foo = new foo;
call_user_func_array(array($foo, "bar"), array("arg1", "arg2"));

你看到错误信息了吗?“…参数1是有效的回调”。您没有传入有效的回调。您正在传递一个包含三个成员的数组…如何将
array($core,“FOO”,“bar”),
作为
bar
方法
FOO
的回调?为什么
FOO
是大写的,而类名是小写的?使用array($core->FOO,'bar')作为第一个参数。使用
array($core,'bar”)
作为回调函数。。。。假设
$core
是您的
foo
class@MarcB数组语法很好。你应该很可能。。。调用用户函数数组(数组($foo,“bar”)、数组(“三”、“四”);不是建设性的,因为他试图通过magic方法访问自动加载的类__get@LuckyBurger-OP在哪里提到自动装弹机?这并不是说它是自动加载还是不自动加载“我有一个库类,其中包含许多类。”这与CodeIgniter的工作方式类似@神童有正确的答案。@LuckyBurger我什么时候会错过OP问题中的魔法方法?;-)我认为你解释得太过分了
$foo = new foo;
call_user_func_array(array($foo, "bar"), array("arg1", "arg2"));