Php 有没有办法检查类中是否存在函数?

Php 有没有办法检查类中是否存在函数?,php,function,Php,Function,我正在传递一些post数据以执行基于post数据的函数,以确定是否应该执行该函数,我尝试使用以下方法: $SP = new StoredProcedure(); if(function_exists($SP->$_POST['function'])) { $SP->$_POST['function'](); } else { echo 'function does not exist.'; } 不幸的是,这会传递以下错误: 注意:未定义的属性:StoredProc

我正在传递一些post数据以执行基于post数据的函数,以确定是否应该执行该函数,我尝试使用以下方法:

$SP = new StoredProcedure();

if(function_exists($SP->$_POST['function']))
{
    $SP->$_POST['function']();
}
else
{
    echo 'function does not exist.';
}
不幸的是,这会传递以下错误:

注意:未定义的属性:StoredProcess::$getFormList C:\DWASFiles\Sites\junglegym\VirtualDirectory0\site\wwwroot\wp content\plugins\qcore\qcore\u waiteress.php 在线353功能不存在

我确信这个函数确实存在,当我在没有
函数的情况下执行它时,\u exists()

当函数在类中时,有没有办法检查它是否存在?

您应该使用

尝试:

if(method_exists($SP, $_POST['function'])) {

method\u exists
检查给定对象的类的方法:

文档链接:

function\u exists()
method\u exists()
用于这些检查。第一个是常规函数,第二个是面向对象的函数。

检查所有这些

还有PHP手册

php.net/method_存在

php.net/manual/en/function.function-exists.php

www.php.net/class_


希望这些可以帮助您。

太好了!多谢各位!
if(method_exists($SP, $_POST['function'])) {
    {
        $SP->$_POST['function']();
    }
    else
    {
        echo 'function does not exist.';
    }