通过AJAX访问PHP类函数

out*_*olf 0 php jquery

有谁知道如何通过AJAX(使用jQuery)从PHP类直接访问函数.

PHP:

class Blah
{
    function __construct()
    {
    }

    function doSomething(data)
    {
        echo "I am not an animal";
    }
}
Run Code Online (Sandbox Code Playgroud)

jQuery的:

$.ajax({
        url: myClass.php,
        data: Blah.doSomething(); "or" Blah->doSomething()  "or whatever"
    });
Run Code Online (Sandbox Code Playgroud)

我知道这是一个粗略的例子,我只想说明一点,我希望你能得到我的问题的要点.

目前我正在沿着这些方向做点什么:

$.ajax({
        url: myClass.php,
        data: data : { 'type':'doSomething' }
    });
Run Code Online (Sandbox Code Playgroud)

||

if(POST['data']['type'] == 'doSomething')
{
     $this->doSomething();
}
Run Code Online (Sandbox Code Playgroud)

我不喜欢它......

Ste*_*tei 5

您需要创建该类的对象,然后调用所需的方法.类声明不会执行任何代码.

例如,您可以在类下面添加:

class Blah { ... }
$b = new Blah();
$b->doSomething();
Run Code Online (Sandbox Code Playgroud)

更新:

如果要调用POST中发送的方法,可以使用函数call_user_function:

$method_name = $_POST['method'];
$b->{$method_name}();
Run Code Online (Sandbox Code Playgroud)

详情请见:http://php.net/manual/en/function.call-user-func.php