« March 2006 | メイン | May 2006 »

April 14, 2006

PHPのコマンドラインインターフェイスを使ってみる

YAPC::Asia 2006のまつもとゆきひろさんのスライドでPHPの場合PHPタグがないとPHPのコードが実行できないように見える説明をされていたので懇親会で「CLIだと同じように実行できますよ」という説明をしたのですが、DanさんのBlogに

404 Blog Not Found:PHPを他の言語が見下す理由


何と言っても、PHPは現在のところ汎用ではなく、Web Server専用だということもある。この領域は広大ではあるが、島には違いない。Webアプリだけがソフトウェアではないのだ。殺速度はなかなかではあるが複殺度に欠けるのは否めない。

というような説明があり、どうもぺちぱー以外の方にはPHPのCLIが知られていないようなので簡単に説明します。
CLIとはCommand Line Interfaceの略称でその名の通り、PHPをコマンドラインで利用する為のものです。
LinuxでPHPをインストールすると、たいていは/usr/local/bin/phpに入っています。

これを利用すると、まつもとさんのスライドにあったhello worldを表示するコードなら

php -r 'print "hello world\n";

これで表示することができるようになります。(PHPも仲間にいれてください!)
コマンドラインのphpを利用する事で、フレームワークのソースコード自動生成をしてみたり、PHPで作ったWebサーバを動かしたりできます。(というか私は普段そういう使いかたをしています)

Danさんのいう実はPerl Communityというのは、言語コミュニティの中では、PHPを含め他の言語を見下すことが一番少ないcommunityだと思う。というのは私も同意です。
少しズレた発言かもしれませんが、Movable Typeのダイナミックパブリッシングという機能を見ていて「なんでもPerlでやろうとするんじゃなくてPHPも許容してくれるんだ」と関心したことがありました。

Perlが他の言語を見下さない言語だとしたら、PHPは自虐の言語だと思います。
「所詮PHPだし」「そういうのはJavaでやればいいんじゃないかな」
そんな発言をしているのを、初心者だけでなく、「PHPが得意」といって使っている上級者からも
よく聞きます。見下され続けたせいでしょうか?

個人的にはぺちぱーには自虐で逃げるような事をしないでPerlのように
どんどんおもしろいことをやってほしいなぁと思います。し、やっていきたいと思います。
「どうせPHPだし」という言い訳はずるいですよね。