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();
} |