PHP 学習状況


PHP5 の学習を続けている。
現在、ちょっとした会員制のサイトを作ろうとしているが、それに必要な知識を身につけようとしている。


最初は、Ruby on Rails でやろうと思ったが、対応しているレンタルサーバはまだ少ない。開発に関する情報も少ない。light weight なウェブ開発では、まだまだ PHP の全盛時代である。(往年の Visual Basic の栄華を連想する)というわけで、本当にひさしぶりに PHP の勉強をはじめた。


初めてのPHP5」で PHP の基礎を学ぶ。実際には PHP5 のオブジェクト指向な部分にほとんど触れていないので、実質 PHP4 入門と言ってもいいかもしれない。しかし、Web アプリケーションの基礎をきちんと教えてくれるいい本である。XSSSQL インジェクションといったセキュリティがらみのことも、親切な説明があってよかった。


PHP5 の構文の解説はその本には載っていないので、「PHP5の基本」というサイトで勉強する。正直、作者はオブジェクト指向のノリがわかっているのかな?という疑問もあるが、とりあえずどんな構文があるのかチェックするにはいい。結局、PHP5 のオブジェクト指向がらみの構文は、extends, try - catch, interface, implements 等々、ほとんど Java から持ってきたんだな。


その後、フレームワークやテンプレートエンジンを使わない素のPHPで、MVC をする方法を「PHPでMVC」で学ぶ。簡潔でよくまとまったよいサイトである。Model-Controller-View で、Controllerオブジェクトが要になり、Request オブジェクトが V->C->M、そして Result オブジェクトが M->C->V と受け渡されて、オブジェクト間のコミュニケーションがなされる形がよくわかった。恥ずかしい話、MVC をきちんと勉強したことはなかったのだ。私がプログラマとして脂が乗り切っていたころは、Visual Basic を使って作るデスクトップ GUI プログラムが全盛期だった。あのころも MVC がよい設計モデルだと知られてはいたが、実践するのは開発ツールの限界上、難しかったようだ。偶然か必然か、MVC はウェブ開発にうまく適合する。


さて、今後は、Session がらみのことを少し勉強してから、Smarty のようなテンプレートエンジンに移っていきたい。それが終わったら、ようやく Ruby on Rails を学んでもいいか?(それとも PHPフレームワークをやるか?)