PHPの基本とMVCが理解できれば簡単! – PHPフレームワークLaravel

ウェブの世界にはウェブアプリケーション構築の為のプログラム言語がたくさんあり、また、そのプログラム言語を用いてウェブアプリケーションを開発するためのフレームも世の中にたくさんありますが、今回はPHP言語でウェブアプリケーション開発に便利な「Laravel」をご紹介いたします。

少し前からMVCの考え方を勉強しており、理解はできたので、今回ようやくLaravelを使ったウェブアプリケーション制作に取り組んでみました。

と言いましても、一から何かを開発したとかではなく、少し前のブログでも制作事例としてご紹介しておりましたが、とある行政機関様のAPIを利用した「官公需情報検索サイト BID SEARCH」をLaravelに移行してみたものであります。

これをLaravel8へと移行した

おススメの理由その1 - 分かりやすく、情報も豊富

先にご紹介した私が開発したサイトは、完全生のPHPでコーディングしたサイトでした。

それを実際にLaravelのインストールから、参考書や公式ドキュメントサイトを参照しつつ、実際にLaravelに移行してみて、「なんだ、意外と簡単!」と感じました。

これは、元のソースは一応クラス構造化しておりましたので、ビューやアクションメソッドに書き写しやすかったのもありますが、それ以外に、Laravelは詳しく解説された参考書も多く、また、公式ドキュメントサイトの内容も日本語サイトがあって意外と情報を得やすいのがあるかもしれません。

同じフレームワークで「Vue.js」も少し取り組んでおりますが、こちらは、そもそもJavascriptがベースのものという事もあってとっつきにくく(私の主観でしょうか?)、参考書も本当に簡単なアプリが作れる程度の内容でありまして、本格的に開発できるようになるまで時間がかかるものと思われます。

ただ、あくまでもLaqravelはMVCモデルに沿ったフレームワークですので、MVCの考え方が分かっていない方には難しいかもしれません。

おススメの理由その2 - セキュリティ機能の実装が容易、使いやすい

Laravelはセキュリティ対策を一から実装せずに済みます。

PHP言語を使う場面にフォーム開発があります。そして、このフォーム送信ですがページ遷移タイプのアプリケーションですとCSRF(クロスサイトフォージェリ)という脆弱性への対策が必須でありました。

勿論、Laravelにおきましても必須ではありますが、コーディング量が格段に少なくなります。

セッションスタートし、フォームの要素に隠しinputフォームを実装し、そのバリューには乱数で生成したトークンを設定し、同時に、このトークンをセッションにも渡し、また、遷移先ページでもセッションスタートやPOSTデータの受け取り、セッションの受け取り、そしてトークンの比較といった作業が必要であったのが、larabelの場合フォーム内に

<input type=”hidden” name=”_token” value=”{{ csrf_token() }}”>

この一行を加えるだけで、セッション及びポストデータにも乱数かされたトークンが自動的に発行されます。セッションのスタートや乱数の生成等も必要なし。

一部見慣れぬ記述もありますが、変数の埋め込みや受け渡しも参考書など読めば理解できますし、慣れれば簡単です。

また、Laravelではビューテンプレートに、テンプレートエンジン「Blade」が使えます。ビューテンプレートにBladeを使えば、上記トークン生成用input要素の記述がさらに簡単となり、

@csrf

この4文字の記載だけで済みます。

Requestデータやセッションデータに簡単にアクセスできるメソッドもあります。

それ例外にも、バリデーションやログイン認証機能の実装も可能なフレームワークです。

まとめ

実際にちょっとしたウェブアプリケーションに使ってみたわけですが、意外と簡単に使えた事にびっくりです。実際、参考書や公式ドキュメント等参考にしつつ、丸一日で、生のPHPからLaravelに移行できました。

こんな簡単で便利なのであれば、今後もっと活用していきたいと思った次第です。

“PHPの基本とMVCが理解できれば簡単! – PHPフレームワークLaravel” への2件の返信

コメントを残す

メールアドレスが公開されることはありません。