メイン

May 17, 2006

超極めるPHP発売

ラボの秋元さんも執筆している超極めるPHPが発売になりました。私もEthna関係で2つの記事を執筆しています。

超・極める! PHP
超・極める! PHP秋元 裕樹 市橋 一宣 大垣 靖男

翔泳社 2006-05-18
売り上げランキング :


Amazonで詳しく見る

今回はPHP界隈で有名な人たちが集まって最新の技術や必修の技術について紹介しているので仕事でPHPを使っている人はもちろん趣味で使っている人も持っておくとよいでしょう。

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だし」という言い訳はずるいですよね。

March 22, 2006

言語構造と関数の記法について

PHPにはechoなどの言語構造とprintなどの関数があります。
言語構造と関数の違いは、

$function_name = "print";
$function_name("aaa");

のような可変関数として利用できるか否か程度で表向きには違いを意識しなければならないときはほとんどないのですが、私の場合これらの違いを明確にするために、言語構造には括弧をつけないでコードを書いています。PEARのコーディング規約にも同様の規定があります。
主な言語構造としては以下があります。

  • include
  • include_once
  • require
  • require_once
  • echo
  • exit
  • die

言語構造と関数の違いをほとんど意識しないでコードを書いている人はちゃんと使い分けておくことをオススメします。