フレームワーク
PHPプログラマーの求人を覗くとLartavel、Fuel PHPなどのフレームワーク使用の経験が要求されることが大半です。むしろフレームワークを使えないと門前払いにもなりかねません。
しかしながら、コードをやっとこさ書けるるようになったphpプログラミングの初学者がフレームワークと聞くと面食らうでしょう。
参考書で調べてみても
私もフレームワークとは何なのかさっぱり分かりませんでした。参考書を数冊買って読んでみても、開発環境の構築の説明の後にいきなりMVCモデルの話に飛躍し、何故フレームワークが必要なのか、そもそもフレームワークとは何なのかさっぱり理解出来ませんでした。
フレームワークとは何ぞや?
webサイトではデータを入力してそれを次のページに受け渡す、さらにそれをデータベースに受け渡す。データベースから情報を引っ張って表示する。といった機能を実装すると思います。
コーディングすると入力機能とその表示、データの受け渡しと一つのページに様々な機能が混在し、大規模な開発になると機能分担が分かりにくくなります。
また、実はwebプログラミングは機能が似通っていて、同じコードを何ページにもコピペしていたりします。例えば、ページのヘッダーは常に同じ出ることがほとんどなので、その表示機能だけを保持して、それを常に参照させればコピペは不要です。
そこで、データの受け渡し機能、データの表示機能、どのページを表示するか判定する機能といった機能ごとに切り分けて、分かりやすくしようという目的でフレームワークが生まれました。
こうすることで、複数人で開発する際もAさんは表示機能を作成して下さい、Bさんはデータの受け渡し機能を作成して下さいといったように役割分担が容易になります。それをフレームワークではディレクトリ毎に分けて管理します。
さらにヘッダーに記載したタイトルに変更があっても、そこを参照する部分だけを修正するだけで済みます。これがコピペだと複数ページ全部にコピペで反映させなければなりません。
お勧め参考書
このようなフレームワークの誕生の背景を丁寧に解説してくれた本が、パーフェクトPHPです。
ちょっと分厚くて面食らうかもしれませんが、phpの基本的な文法を理解して簡単なサイトが作れるようになった人が、フレームワークなどの次のステップに進む橋渡しをしてくれる絶好の参考書です。
その上で、下記のLaravelの入門書を読むと理解がグッと深くなります。
Laravelの教科書 バージョン10対応【電子書籍】[ 加藤じゅんこ ]
フレームワークは適材適所
以上から、通販サイト、旅行申し込みサイトなどは大規模で複数人が開発に携わるので、フレームワークが必須です。
しかしながら、個人商店や従業員が数十人規模で社内SEがホームページを手掛けているような会社であれば、正直フレームワークは不要だと思います。
まとめ
まずは、自分がどのような規模の開発に取り組むのか(取り組みたいのか)を見極めることが大切です。その上で、フレームワークが必要ならば、パーフェクトphpをしっかり読み込んでみてください。私も、この本でフレームワークの何たるかがきちんと理解出来ました。