PHP、すごく手軽で良いですね。セッション管理が楽だー。
これならさくさくといろいろ面白いサービスが作れそうですね。
とりあえず、今後はDBとの連携を一通りやってみるつもり。
いつも楽しみに見ているたつをのChangeLogのたつをさんがPHPをはじめられたっ!
せっかくなので自分が「そういうの最初から教えておいてくれよ」と思ったことを書き出してみます。
PHP Switcher Q&A
Q. GETやPOSTを手っ取り早く取りたいんだけどCGIモジュール的なものは?
A. PHPコアの機能に含まれています。GETやPOSTのデータは自動的にグローバル変数の$_GET, $_POSTに連想配列として入っています。
Q. セッションは?
A. PHPコアの機能に含まれています。$_SESSIONというグローバル変数(連想配列)に代入するだけでセッションにデータが入ります。
Q. 配列と連想配列はどう違う?
A. 配列と連想配列は内部的には同じモノです。添字に文字列を指定すると連想配列になります。(添字に数字と認識できる文字列を入れると自動的に数値に変換されます。)
Q. ヘッダはどうやって書く?
A. Apacheモジュール版PHP(mod_php4)ではヘッダは自動的に付与されます。明示的に書きたい場合はheader関数を使います。それに対してコマンドライン版PHP(cli)が存在します。
Q. サードパーティ製モジュールは?
A. PerlでいうCPANにあたるPEARというリポジトリサイトがあります。(モジュールの登録には他のPEARメンテナの賛成投票が5票以上必要でstable/unstableという分類もあるため、CPANよりモジュール数が少ない代わりに一定の品質は保障されています。)
Q. PHP自体に機能を追加したい
A. Pure PHPのみのPEARに対して、Cで書かれたPHP extentionのリポジトリサイトとしてPECL(ぴくる)があります。
Q. Template-toolkit的なものは?
Q. PHP自体がHTMLに埋め込めるんだからテンプレートエンジンなんていらないんじゃないの?
A. そういう考えのもと、PHP自体をテンプレートとして扱うSavantというテンプレートエンジンもあります。
Q. Webアプリケーションフレームワークは?
A. Mojavi!
その他、国産フレームワークのMaple、Ethna、Java Seasar2のPHPポーティングS2PHP5などが有名です。
Q. O/Rマッパーは?
A. PEAR DB_DataObject。PHP5ではPropelなど。
PHP全体の印象としては、便利なものは少々言語デザイン的に美しくなくても標準関数にしちゃえ的節操のなさが良いところでもあり悪いところでもある。といったところでしょうか。
これを期に他言語をメインにしている人もちょっとPHPを触ってみる、もしくは多言語のライブラリやツールをPHPに移植してみるというのはどうでしょうか。