【www.bbyears.com--php函数】
method_exists
(PHP 4, PHP 5, PHP 7)
method_exists — 检查类的方法是否存在
说明
bool method_exists ( mixed $object , string $method_name )
如果 method_name 所指的方法在 object 所指的对象类中已定义,则返回 TRUE,否则返回 FALSE。
代码如下class a {
public function xx(){
echo ‘xx’;
}
public function yy() {
echo ‘yy’;
}
}
$obj = new a();
var_dump(method_exists($obj, ‘xx’));
var_dump(method_exists($obj, ‘xx’));
var_dump(method_exists($obj, ‘xx’));
测试结果都为true
class a {
public function xx(){
echo ‘xx’;
}
public function yy() {
echo ‘yy’;
}
public function yy() {
echo ‘yy’;
}
}
$obj = new a();
$obj->yy();
$obj->yy();
以上语句报错。
例子
代码如下// 获取要运行的action
include($c_path);
// 加载controller文件
$controller = new $c_name($query);
if ( isset($_GET["m"]) ) {
$method = $_GET["m"];
if ( method_exists($controller, $method) ) {
$controller->$method();
}
} else {
// 执行首函数
$controller->index();
}