HTMLしか知らなかった僕がPHPを覚えるまで

9月 28th, 2007 admin Posted in PHP | 1 Comment »

PHPって難しいでしょ?どうやって覚えたの?と聞かれたのでアマゾンアソシエイトを使いながらPHPを覚えた順番を紹介してみようと思う。
PHPはプログラミング言語じゃねぇとかいう意見もあるけどプログラミングの入門にはとても適していると思う。(file_get_contentsとか最高)

間違えてXMLの本を買った

最初僕がどれぐらいわかっていなかったかというと、かばん屋のホームページをプログラムで管理したいと思って最初にXMLの本を買ったぐらい理解していませんでした。本を読破してからXML単体ではどうしようもないと知り非常にショックを受けので今でもXMLは嫌いだったりします。

その後少し調べてPerlかPHPってのを使えばいいってことを知り、PerlよりPHPの方がキレイな装丁の本が多かったのでPHPにしました。(マンモス本とかがかっこよく見えた)
そこで買ったのが下記の2冊

オープンソース徹底活用 MySQL4/PHP5によるWebデータベース構築 (オープンソース徹底活用)
まずこれは、MySQL,Apache,PHPのインストールから丁寧。そしてMySQLの操作についてもPHPの本のくせに非常に丁寧に書いてあるのが良い。最終的に掲示板を作るチュートリアル、ブログを作るチュートリアルまであって学びやすい(掲示板がつくれればWebアプリは7割理解できたと思ってもいいとおもう)
PHP5の本なのでオブジェクト指向についても触れているが、使わなくても本は読み進めていけるのもオブジェクト指向が理解できていない僕にとってはとても良かった

PHPによるWebアプリケーションスーパーサンプル
一緒に買ったのがこの本。「ファイルに書き込みたい」などの目次から開ける逆引き本だ。この本に載っているサンプルを組み合わせれば大抵のスクリプトは作れると思う。非常にお世話になったが分厚すぎるので「PHPポケットリファレンス (POCKET REFERENCE SERIES)」に乗り換えた。こっちの本は今でもお世話になる。
ただし、こういう本は他にもいろいろあるけどセキュリティなどは考慮してくれていない場合が多いので単純に組み合わせるだけだと危ないということを覚えておきたい。

PHPのお仕事が来た

プログラムが組めるようになったと吹聴してまわっていたら在庫管理の仕事が来た。あわててセキュリティとかセッションとかの勉強をした。
その時にお世話になったのが

PHP5徹底攻略 エキスパート編
です。初期の頃によくはまっていた「セッション」「キャッシュ」「文字コード」などについて困ったときにいつも開いていた。
またこの本では当時流行していたテンプレートエンジン「Smarty」の使い方も載っており、Smartyを使い出した僕はすっかりPHP上級者になった気分になっていた。

セキュリティに関しては今は「PHPサイバーテロの技法―攻撃と防御の実際」というような専門の本が出ているので必ず読んでおいたほうが良いと思う。

フレームワーク漁り

ある程度自由にプログラムが作れるようになったのですがいつも

  • 毎回同じようなコードばかり書いている
  • サイトの規模が大きくなるとファイルが整理整頓できなくなる

ということで悩んでいました。特に自分1人で書いているのにも関わらず、コーディング規則やファイルの配置規則がバラバラになっていくのがすごくイヤでした(自分で決めればよかったんだけど)
そこで知り合いに教えてもらったのがフレームワークというやつでした。どうも他人の敷いたレールを走るようにプログラムが出来るらしいと・・・

最初に覚えたのはMaple(開発は中止されました)というやつでした。今思えば面白いフレームワークでしたが、OOPをろくに理解していない僕には非常に難易度の高いフレームワークでした。次にEthnaguessworkRuby on Railsと触って今は主にCakePHPで開発を行っています。

フレームワークが使えるようになったことでシステムが肥大化していくのが怖くなくなりました。フレームワークが規則を決めてくれているので僕がソースを汚くしようとしてもできないようになっています。また、半年後にソースを見直したり、人のコードを直すのもとても簡単になります。今ではフレームワークなしでは開発は行いたくないほどの依存症になりました。

最初にフレーワークを学ぶならEthnaが良かったかなと思います。今なら「Ethna×PHP [LLフレームワークBooks] (LLフレームワークBOOKS # 2)」などの専用の本もでていますしね。CakePHPはフレームワークを知らない人からすると話が飛びすぎている気がします。(mod_rewriteとかGETパラメータの取得とか、ORマッパとか)

その次は

他のLL(lightweight language)と呼ばれる言語を学ぶのが良いと思います。PerlとかRubyとかPythonとか
あとある程度PHPができるようになると「PHPしかできない」ってのがいかにプログラマ的に未熟な状態なのか気が付くので無限に勉強できて飽きないです。
(↑今ここ)

One Response to “HTMLしか知らなかった僕がPHPを覚えるまで”

  1. はじめまして。
    サイトの書き込み、とても参考になりました。
    「PHP によるWebアプリケーションスーパーサンプル」と「PHP逆引きレシピ」のどちらを買おうか迷っていたのですが、PHP逆引きレシピ」にしてみました。
    セキュリティの部分も勉強したいと思ったので。