我正在传递一些帖子数据来执行基于帖子数据的功能,以确定是否应该执行此功能我尝试使用以下内容:
$SP = new StoredProcedure();
if(function_exists($SP->$_POST['function']))
{
$SP->$_POST['function']();
}
else
{
echo 'function does not exist.';
}
不幸的是,这传递了以下错误:
注意:未定义的属性:StoredProcedure :: $ getFormList in C:\ DWASFiles \网站\ junglegym \ VirtualDirectory0 \网站\ wwwroot的\的wp-content \插件\ qcore \ qcore_waitress.php 第353行功能不存在。
我确定这个功能确实存在,当我在没有function_exists()
有没有办法检查一个函数是否存在于类中?
答案 0 :(得分:4)
method_exists
检查给定对象的类方法:
文档链接: http://www.php.net/method_exists
if(method_exists($SP, $_POST['function'])) {
{
$SP->$_POST['function']();
}
else
{
echo 'function does not exist.';
}
function_exists()
和method_exists()
用于这些检查。第一个是常规函数,第二个是OOP
函数。
答案 1 :(得分:3)
答案 2 :(得分:2)
检查这一切
Find out if a method exists in a static class
以及
的PHP手册php.net/method_exists
php.net/manual/en/function.function-exists.php
www.php.net/class_exists
希望这些可以帮到你。