Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
338 views
in Technique[技术] by (71.8m points)

php - Is there a way to check if a function exists within a class?

I'm passing some post data to execute a function based on post data, to determine if this should execute I've tried to use the following:

$SP = new StoredProcedure();

if(function_exists($SP->$_POST['function']))
{
    $SP->$_POST['function']();
}
else
{
    echo 'function does not exist.';
}

Unfortunately this passes the following error:

Notice: Undefined property: StoredProcedure::$getFormList in C:DWASFilesSitesjunglegymVirtualDirectory0sitewwwrootwp-contentpluginsqcoreqcore_waitress.php on line 353 function does not exist.

I'm certain this function does exist, and when I execute it without the function_exists()

Is there a way to check if a function exists when it's inside a class?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

method_exists checks for method of a class for a given object:

Docs Link: http://www.php.net/method_exists

if(method_exists($SP, $_POST['function'])) {
    {
        $SP->$_POST['function']();
    }
    else
    {
        echo 'function does not exist.';
    }

function_exists() and method_exists() are for these checks. First is for regular functions and second for OOP functions.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...