Webアプリ初心者プログラマのPHP習得法

僕のPHP勉強方法をメモをかねて書いておきます.

プログラミング経験はあるけど,Webアプリは書いた事がない人に参考になるかもしれません.僕のWebアプリ実装経験は,5年ほど前にPerlCGIを書いたことがある程度です.DBはほとんど使ったことないです.

PHPの基礎習得

PHPによるWebアプリケーションスーパーサンプル 第2版』 で文法と基本的な関数をさらう.プログラミング経験があれば,言語的にはPHPは簡単なので即効で理解できると思います.

ただし,フォームやフォーム入力値のチェック,セッションやクッキー,データベースとの連携,セキュリティなどWeb特有の部分はちゃんと見ておいた方がよいです.

また,単にコードを読むだけでなく,気になったサンプルコードは実際に動かしてみたり,改造してみると理解がはやまります.

掲示板を作る

ベタ書きでよいので,まずは掲示板をつくるといいと思います.はじめはファイルに保存する方法で,次にDBに保存する方法で.

Webアプリケーションの一連の処理の流れ(ブラウザ→PHP→DB→PHP→ブラウザ)が把握できると,次はMVCモデルについて調べるとよいと思います.

WebAPIで遊んでみる

簡単に作れて楽しめるのはWebAPI.WebAPIで遊んでみたい人は,『PHP×WebサービスAPIコネクションズ』 がオススメです.AmazonはてなAPIは手軽でおもしろいです.

オブジェクト指向

オブジェクト指向がわかってるならば,是非クラスを使って再利用可能なコードを書くべきでしょう.それには, 『PHPによるWebアプリケーションスーパーサンプル 活用編』 がよいと思います.
この本には,簡単なMVCフレームワークを作成する章があるので,これでフレームワークの超基礎がわかります.ついでにPHPのクラスについても基礎はわかります.

また,PEARについての説明,DBライブラリであるADOの説明,Smartyという表示用テンプレートの説明,さらにWebAPIライブラリの説明などがあり,実用的でまあまあ遊べます.

MVCフレームワークを自作

簡単なMVCフレームワークを自作して何かアプリケーションを作ってみると,同じようなコードをたくさん書く必要があることに気づきます.それも本質的にやりたいことではなく単純で面倒な作業が非常に多いことに気づきます.また特にDB周りはベタに書いていると非常に面倒だと感じて,O/Rマッパーを自作したくなります.

もちろん自作してもよいのですが,フレームワークを使ってみたり,もしくはフレームワークのコードを読んでみると,なんでみんながフレームワークを作ったり使ったりするのかが非常によく理解できます.僕はCakeというフレームワークのコードをざっくりと読んでみました.

Cakeフレームワーク

実際の開発は,フレームワークを使うのがよいと思います.僕のオススメはCakeです.といっても,コードを読んだだけで,まだ使ったことはないのですが….

SymfonyZend FrameworkMapleEthna あたりがPHPフレームワークでは有名どころみたいですが,いろいろ調べると総合的にもっともCakeがよさそうです.CakeはRailsにそっくりなので,僕がRailsを知っているからというのも多少はあるかもしれませんが.

オススメの3冊

PHPによるWebアプリケーションスーパーサンプル 第2版PHPによるWebアプリケーションスーパーサンプル 活用編PHP×WebサービスAPIコネクションズ