次の try..catch は、メソッドが存在する場合はそのメソッドを実行し、存在しない場合は別のメソッドを実行することを意図しています。
$heading = new HeadingMan();
try {
if (!is_callable($heading->{$this->breadcrumbs->getCrumb(3)}())) {
throw new Exception ('<b>Error - HeadingMan class can not handle: </b>' . $this->breadcrumbs->getCrumb(3));
}
$heading->{$this->breadcrumbs->getCrumb(3)};
}
catch (Exception $e) {
$heading->latest();
}
ただし、catch ステートメントは常にトリガーされ、新しい例外をスローします (ステートメントの catch 部分を実行します)。
一連の関数呼び出しを使用して、クラスにメソッドが存在することを確認する方法
$this->breadcrumbs->getCrumb(3);
関数の名前を取得します。?