PHP

2013-02-04, php

アサーションを使う

前提、事後条件のチェックに利用できる、assert関数が用意されています。display_errorsが有効になっていて、条件式(文字列で指定します)が成立しなかった場合に警告が出力されます。

ini_set("display_errors", TRUE);

assert("1==1");
assert("1==0");

実行結果は以下のようになります。

Warning: assert(): Assertion "1==0" failed in /foo/bar.php on line NN

引数は文字列でなく結果が真偽値になる式としても記述できますが、「Assertion falied」としか表示されないので、何が起こったのか分かりません。またアサーションが無効化された状態(display_errors=OFF)のパフォーマンスの面からも文字列で記載すべき、とされているようです。assert関数の第二引数(description)は5.4で導入されたばかりのようで、CentOS標準のPHP環境(5.3)では利用できませんでした。

参考URL

この記事は役に立ちましたか?