assert() 関数には文字列を渡す
第3回 CakePHP 勉強会で時間の都合から言えなかったことがありました。 assert() 関数には式を渡すのではなく文字列を渡して使うのが正解です。
assert($arg != 0); // 誤り!
assert('$arg != 0'); // OKどちらの記述も一見すると正しく動いているように見えるのですが、式が成立しないときのエラーメッセージが変わります。前者は失敗したことしかわかりませんが、後者はどの式に失敗したのかがわかります。
ながらく C/C++ のプリプロセッサという超法規的措置の assert を使っていた人は要注意です。