kwsktr's study log

kwsktr のおべんきょログ

2013年半ばあたりの PHP 界 :: 体感メモ

ボクが PHP を仕事でやることになったのがおよそ5年前。
紆余曲折して、今年になってまた PHP プログラマーを主な仕事として働いていますが、昔と比べて覚えることが変わってきたように思います。


そこで、いまのボクがなんとなく感じていることをメモっぽく、書いておきます。

PHP より WordPress

変な見出し。
それでも PHP をそれなりに使えるよりも、WordPress をそれなりに使えたほうが目先の仕事に有利な気がしてなりません。
世界のサイトの5割が WordPress というトンデモ話もあるくらいで、PHP が未だに息絶えていないのはお手軽構築システムのおかげでしかないような気がしています。


逆に言えば PerlRubyPython あたりの素敵言語が WordPress よりも、お手軽で豊富なライブラリがあって、DetaBase 接続も安全で簡単で、JavaScript や HTML と親和性が高いシステムができれば、PHP なんて一瞬で無くなりそうですね。
それはともかくとして。


企業内で大規模サイトを作成するならば、WordPress よりも PHP にアドバンテージがあるかも知れないけれど…個人でなにか小さいものを作るといったときには、PHP だけで書くなんてことは面倒でやってられない。


最近じゃ、どこのレンタルサーバーを借りても WordPress を5分で構築できますよ。


PHP だけを学ぶよりも、WordPress から入ってカスタマイズをする必要に応じて、PHP を使って幅を広げていくという方法が成長も早いと思います。
とはいえ、言語としての最低限の基本は身につけておいたほうが良さそうですね。


 

HTML5 + CSS3 + jQuery(JavaScript) で外側を固める

これで PHP のことをなんとなく学べて、サイトやブログを飾る見た目も大事。
なら、HTML5 + CSS3 + jQuery(JavaScript) は避けて通れない。


やっておいて絶対に損はないし、見た目はいじりやすいし、綺麗だと嬉しいし…覚えることは多いけれどサイトやブログが、自分好みになっていくのでモチベーションは続くと思います。


フロントエンド周りの Hack 系ブログは読んでて楽しいのも多いし。

クラスの理解にはフレームワークを学ぶ

連想配列、foreach、if else あたりを学んだら、よくある MySQL をぶっ飛ばしてフレームワークを学ぶべきだと思う。SQL を書くことも、まあ必要ではあるんだろうけれど…ちょっと後回しで。
なぜならクラスというプログラム言語の理解は先人の書いたコードを触りながら、クラスというものの感覚を掴むことこそが根本の理解に通じると思うから。


なによりも、フレームワークソースコードこそ、独学の初心者 PHPer が一番気軽に目にできる(ほぼ)完成した PHP プログラムです。


どういう仕組みで Model, View, Controller が動いているんだろう。そんな感覚を持ちながらフレームワークを触ってみるといい。
CakePHP でも FuelPHP でもいいと思う。


 


PHP フレームワークの本を開いて、サンプルコードを見ながら、書きながら触って、まるまる一冊、もしくは二冊通して読めば、格段にレベルがあがっていくでしょう。
正直、ここらで挫折すると思うけれど、WordPress とフロントエンド周りだけでもお仕事たくさんあると思うので無理に固執しなくていいんじゃないのかな。

もし、PHP を頑張るならば本と同じような頻度でフレームワークソースコードも読むこと。
ソースコードを全部読んで理解できたら最高だけど、「ふむふむ、なんとなくわかったかも」くらいでいいから読みまくるといいと思う。


フレームワークも2つだけじゃなくてたくさんある。
Zend に Symfony みたいなでっかいのもあるし、最近流行りものの Laravel もある。

まだ PHP をやりたいなら テストを書こう

ここまでやれば中級者といったとこでしょう。


もうあとは自分でガシガシとコード書くか、フロントエンドに戻るか、別の言語を新天地とするか、自由に決めていいかと思います。
それでも、PHP をまだやりたい!というならばテストを書く習慣を身につけたほうがいいですね。順番が逆かも知れないけれど…
テスト駆動開発をやるならば PHPUnit あたりになるのでしょうが、なかなかコレといった学習ものが無いので習得が捗らないんですよね。


というか、今のボクのステップがここなのかも知れません。
なぜなら、現在の職場ではテストを書くという文化がありません。
恐ろしいですよね。


文化がなければ作るしかないので、ボクが率先して作っていこうと思っています。
そのために、学ぶことはたくさんあって、伝えることもたくさんあって、大変だけど面白い、そんなところにいます。


加えて IDE の使い方も、しっかりと覚えて伝えていく必要を感じています。
あまり悠長なこともいってられませんが、頑張って PHP プログラマーという仕事を充実させていきたいものでございます。