PHPでクラスにメソッドがあるかどうかを確認する 質問する

PHPでクラスにメソッドがあるかどうかを確認する 質問する

現在、私のコードは次のようになります:

switch ($_POST['operation']) {
    case 'create':
        $db_manager->create();
        break;
    case 'retrieve':
        $db_manager->retrieve();
        break;
...
}

私がやりたいことは、呼び出されたメソッドが$_POST['operation']存在するかどうかを確認することです。存在する場合はそれを呼び出し、そうでない場合は「エラー」をエコーし​​ます。これは可能ですか? どうすればできますか?

ベストアンサー1

使用できますメソッドが存在する:

if (method_exists($db_manager, $_POST['operation'])){
  $db_manager->{$_POST['operation']}();
} else {
  echo 'error';
}

私は強くこの方法でプログラミングを行わないことをお勧めします...

おすすめ記事