Smarty と Cake PHP


この週末は、PHP の勉強にかまけている。


とりあえずソフトカルチャーのウェブサイトで告知したように、ウェブサイトの自動更新システムを PHP で作った。まあ、いわゆるブログみたいなプログラムだ。それをとりあえず、何のフレームワークも使わずに、このサイトを参考に、MVC(モデル・ビュー・コントローラ・アーキテクチャー)ぽく作ってみた。MVC でウェブアプリを作ると全体の構造がはっきり見えてきて、気分がよい。私は、なにせ21世紀に入って真面目にプログラミングを勉強していないので、とりあえず MVC 程度のことさえも最初はよくわからなかった。このプログラムを書いたのはとてもよい勉強になった。


その後、ずっと気になっていた Smarty に関して、このサイトを参考にして、ちょっと勉強してみた。View の部分からプログラムロジックを取り除こうという考え方で、まずは MVC の考え方が理解できていないとどうしようもないよね。このサイトは、短くもまとまっていて、わかりやすかった。(しかし、広告のリンクはちょっとうるさいが)いろいろ機能もあるのだろうけど、基本に限って言えば、Smarty はそんなに難しくないな、という印象だった。


次に取り組んだのは、PHP Cake 。


PHP Cake をインストールしてみる
http://ozaki.kyoichi.jp/mambo/content/view/34/52/


は、CakePHP プログラマーズ リファレンスガイドのブログチュートリアルを解説したものだが、淡々とした語り口が秀逸。ちょっと戸惑ったが、なんとか理解することができた。


Ruby on Rails のライバル(?)である PHP Cake を勉強しようと思ったのは、SoftCulture をホストしている共用レンタルサーバで、ウェブアプリを開発したかったから。Rails の最大の弱点は、アプリの配置にあり、専用のウェブサーバ環境を整えてやらないと使い物にならない。PHP Cake でブログアプリを試作して動かしてみたが、微妙に反応が遅れるものの、かなり軽快に動いた。PHP Cake は PHP 4.3.2 以上なら動くということなので、私の使っている Xbit (PHP 4.4.2) でも十分使える。


今回 Cake PHP をちょっと触ってみたが、Scaffold の使い方や、テストがどうなっているのか、わからなかった。Rails のようなテストフレームワークは入っていないのかも。Scaffold を使うより、上のブログチュートリアルのように、Model を作って、Controller を作って、View を作って、と一つ一つエディタで打ち込んで行った方が、私にはわかりやすかった。


そのままだと日本語が通らないので、ここを参考に UTF-8 化した。


全体的な印象としては、Cake PHPRails ほどの大きさがなく、かつ、Rails のような思想性もないので、むしろとっつきやすかった。Rails からいいところはもらって、あとは PHP らしく Web アプリを作ろうぜ!という実用的な考え方に基づいているフレームワークのようだ。私のメインな目的は、自分でウェブアプリを作って、多くの人たちに公開することなわけで、そのためには、むしろ PHPフレームワークを使ったほうがいいのかもしれない・・・。(Rails にはあくまでも先進的な機能実現に向けてがんばってもらいたいが)


世の中には他にはどんな PHPフレームワークがあるのだろうか?


PHPプロマガジン 2007年冬号 Vol2「有力5大フレームワーク徹底入門」
http://www.phppro.jp/magazine/index.php


を「立ち読み」させてもらった。ふーん、世の中たくさんフレームワークがあるんだなあ。それぞれみなすばらしいフレームワークだろうに「マーケティング」しないと生き残れないとは。なんともコンピュータリソース過剰な現代の光景ではある。私は、Rails 似で、PHP4 で使えて、結構軽い PHP Cake としばらく付き合うつもりだ。