質問: 私の理解が乏しく、漠然とした質問なのかもしれませんが、アドバイスいただけると嬉しいです。 現在、Qiitaのようにユーザー登録して、それぞれが投稿して、ストックできるようなWebサービスを作りたいと思い、勉強しております。 静的なWebページを作ったことはありますが、Webサービスを作ったことはありません。 作れるようになるために、下記について調べて理解しました。 * HTTPの仕組み(メッセージの内容など) * Cookieとセッションの仕組み * HTML / CSS * PHP(基本構文、関数の使い方、クラス・例外処理の基礎、PDOを使ったDB接続・操作) * MySQLの基礎 * 脆弱性(XSS、CSRF、セッションハイジャック・フィクセーション)の概要 * セキュリティ対策(徳丸本で勉強中です) * デザイン関連(Photoshp・Illustrator) 今の段階では、書籍やネットなどを参考すれば、ユーザー登録、投稿、ストックという機能だけ(動くだけ)なら作れるレベルですが、セキュリティなど作り方に問題ないか不安です。 作りたいWebサービスに近づくためには、次に何を勉強した方がよいか調べていたら、下記のように初心者にはフレームワークを推奨する記事がありました。 * PHP初心者は最低限これはやっとけ - 開発に入る前編 * 初心者を戒めるPHP 私のような初心者が先述したようなWebサービスを作りたいなら、フレームワークを利用した方がよろしいでしょうか? また、利用した方がよい場合は、お勧めのフレームワークはありますでしょうか? それとも、フレームワークなどは利用せずにPHPをもっと理解して、素のPHPでガシガシ作っていく方がよいのでしょうか? 次のステップとして、どのようなことを勉強すればよいか悩んでおります。 近くに詳しい方もいないので、皆様から見て次にどのようなことを勉強した方がよいか、アドバイスいただけると助かりますm(__)m
回答: フレームワークはよく使う処理を体系だって整理し、その処理を間違いが少なく実装できるように工夫さてたものです。ですので、Webサービスを作りたいなら、先人の知恵が詰まったフレームワークを利用した方が良いと思います。特にセキュリティ的に考慮が必要となる、Web系の入力系やDB処理に関しては、ケアレスミスをしない様にする実装が簡単にできるよう工夫されています。 ただ、フレームワークを使用するにあたって、中身を確認したくなることは度々あるので、素の PHPもそれなりに理解できるスキルが必要です。 正直、私も学習中の身なので、フレームワークの中身を理解するのはかなりハードルが高いです。 まず、適当なサイズのWebサービスを自身で作成できるようになってからフレームワークを使用するのがオススメです。お作法が、フレームワークごとに違うので、手に馴染むものを使用するのが良さそうですね。私は、お手軽(?)な CodeIgniter を使用しています。 ちなみにですが、この回答はあなたが一人親方である前提です。どこかの組織に属するのであれば、問答無用でその組織の【仕様】を守る必要がありますので^^;