Rubyのライブラリには、最後のサンプルコードのところに、以下のように書いてある場合があります。
if __FILE__ == $0 sample = Sample.new ... end
これ、どういう意味かというと、ライブラリの利用者がrequireで読み込んだ場合には、実行されない。
でも、直接に単体ファイルとして実行すれば、ライブラリのサンプルコードとして試すことができます。
これって、すごく便利な機能だなぁと思って、PHPでも同じようなことができないかと調べたところ・・・
ありました!
ベイエリア情報局: ライブラリが直接実行された場合はプログラムとして実行するPHPでもやろうよ
こんな感じで簡単にできるよ。
argvの取得は$argvだけで。面倒だから。if (isset($argv[0]) && __FILE__ === realpath($argv[0])) {
/* sample code */
}
ありがとうございました!助かりますね。
これで、コマンドラインからPHPのテストがやりやすくなります。
独自のクラスライブラリなんかを作って、テストコードを書くときは、上記のif文を使えば便利です。
■この記事のトラックバックURL:
http://www.mapee.jp/mpe334/mt-tb.cgi/442