直接ファイルが実行されたときだけ起動するスクリプト

スポンサーリンク
スポンサーリンク
ライフスタイル関連のコンテンツ
お金 | 仕事 | 勉強 | プライベート | 健康 |
プログラミング関連のコンテンツ
C言語/C++入門 | Ruby入門 | Python入門 | プログラミング全般

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文を使えば便利です。

スポンサーリンク
 
スポンサーリンク