例外スロー関数を使用して、php のクラスで引数のチェックを行います。基本的なチェック ( など) を実行し、false で例外をスローする関数があり===
ますin_array
。だから私はassertNumeric($argument, "\$argument is not numeric.");
代わりに行うことができます
if ( ! is_numeric($argument) ) {
throw new Exception("\$argument is not numeric.");
}
タイピングの手間を省く
assert() に関するphpマニュアルページのコメントを読んでいました
ウィキペディアに記載されているように、「アサーションは主に開発ツールであり、プログラムが一般に公開されると無効になることがよくあります。」「アサーションは、論理的に不可能な状況を文書化し、プログラミング エラーを発見するために使用する必要があります。「不可能」が発生した場合、根本的な何かが明らかに間違っています。これはエラー処理とは異なります。ほとんどのエラー状態は可能ですが、一部のエラー状態は非常に起こりそうにないものもあります。アサーションを汎用のエラー処理メカニズムとして使用することは通常賢明ではありません. アサーションはエラーからの正常な回復を可能にせず, アサーションの失敗はしばしばプログラムの実行を突然停止させます. アサーションはユーザーフレンドリーなエラーも表示しません.メッセージ。"
これは、アサーションを手動で無効にした場合でも、アサーションを強制的に有効にするという "gk at proliberty dot com" のアドバイスは、アサーションを開発ツールとしてのみ使用するというベスト プラクティスに反することを意味します。
それで、私は「間違ったことをしている」のでしょうか?これを行う他の/より良い方法は何ですか?