0

次の 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);

関数の名前を取得します。?

4

1 に答える 1

0

$bool = method_exists($class,$method);

http://php.net/manual/en/function.method-exists.php

于 2013-01-16T04:08:02.813 に答える