3

クラスが存在しない場合、どのPHP SPL例外をスローする必要がありますか?例外のZF2コーディング標準のコンテキスト内。

標準では、例外はPHPのSPL例外の1つから拡張する必要があるとされています。私の最初の推測は、それはある種のRuntimeExceptionだと思います。

PHPSPLの例外

4

2 に答える 2

2

アプリケーションのコンテキストによって異なります。

クラス名をメソッド引数として受け取り、そのクラスを同じメソッドにロードしようとする場合は、InvalidArgumentException 例外を使用する必要があります。

フィールド値またはメソッドからクラス名を受け取っている場合は、RuntimeException を使用する必要があります。

于 2012-09-09T09:57:51.327 に答える
-1

autoload が存在しない場合、PHP は RunTimeException を吐き出しますよね? したがって、クラスが見つからない場合、ローダーは同じことを行う必要があります。(独自のオートローダーを作成している場合) ZF2 コーディング標準に基づいて、ローダーの例外名前空間内にある RunTimeException をスローする必要があります。

したがって、ローダーが My\Loader にある場合、ランタイム例外は My\Loader\Exception\RunTimeException になります。

于 2012-08-13T21:15:15.327 に答える