assert()
は、指定した
assertion
を調べて、結果が
FALSE
の場合に適当な動作をします。
assertion
が文字列として指定された場合、
assert()
によりPHPコードとして評価されます。 文字列
assertion
が優れているところは、 assertion のチェックがオフになった場合のオーバーヘッドがより少な
いことであり、assertionが失敗した場合のメッセージを式
assertion
に有しています。
assertion は、デバッグ目的にのみ使用するべきです。 assertion を常に
TRUE
となる条件を調べる不具合診断に使用し、
TRUE
でな い場合に何らかのプログラミングエラーを示したり、extension 関数ま
たは特定のシステム制限や機能といった特定の機能の存在をチェックす るために使用することが可能です。
assersion は、入力パラメータのチェックのような通常の実行動作に使
用するべきではありません。一般的には、assertion のチェックが有効
でない場合に自分のコードを常に正常に動作することができる必要があり ます。
assert()
の動作は、
assert_options()
またはマニュアルの関数の部分 に記述された .ini の設定により設定することが可能です。
関数
assert_options()
かつ/または ASSERT_CALLBACK 設定ディレクティブにより失敗したassertionを
処理するコールバック関数を設定することが可能です。
assert()
のコールバックは、assertionが発生 した場所に関する情報と共にassertionに渡されたコードを容易にキャ
プチャーできるため、特に自動テストセットを構築する際に便利です。
この情報は他の手法でもキャプチャー可能ですが、assertionを使用
することにより、より簡単かつ容易に行なうことが可能です!
コールバック関数は、3つの引数を受ける必要があります。最初の引数
は、assertionが失敗したファイルが含まれます。2番目の引数には、
assertionが失敗した行が含まれ、3番目の引数には失敗した式が含ま
れます。(もしある場合のみ。1または"two"のようなリテラルの値はこ の引数に渡されません)