Laravelとは?現在の、PHPフレームワークの筆頭として大活躍
いつもご利用ありがとうございます。
この記事には広告が掲載されており、その広告費によって運営しています。
Laravel は、日本でも世界でも人気のあるフレームワークです。現在 PHP でどのフレームワークを採用するかといえば、まず最初に上がってくる選択肢の1つです。
今回はその Laravel について書いていきたいと思います。
Laravel とは?
Laravel は、PHP の Web アプリケーションフレームワーク
多くのプロジェクトの開発で、よく使われる共通タスクを容易にすることによって、開発の苦痛を取り除くことを目的として作られています。
引用 https://github.com/laravel/laravel
Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as:
基本的な機能
Laravel の機能をざっくり説明
- シンプルで高速なルーティングエンジン
- 強力な依存性注入コンテナ
- セッションやキャッシュを保存する複数のバックエンド
- 表現力豊かで直感的なデータベース ORM
- データベースに依存しないスキーママイグレーション
- 堅牢なバックグラウンドジョブ処理
- リアルタイムのイベント放送
Laravel はアクセスしやすく、パワフルで、大規模で堅牢なアプリケーションに必要なツールを提供します。
引用https://github.com/laravel/laravel
Simple, fast routing engine. Powerful dependency injection container. Multiple back-ends for session and cache storage. Expressive, intuitive database ORM. Database agnostic schema migrations. Robust background job processing. Real-time event broadcasting. Laravel is accessible, powerful, and provides tools required for large, robust applications.
ざっくり説明するなら、「早い」「柔軟」「セキュリティ」と言っています
MVC モデル
モデル、ビュー、コントローラー(いわゆる MVC モデル)を採用しています。
これにより、「どこに何の処理を書くのか」というのをプロジェクトで統一しやすくしています。
Composer によるパッケージ管理
Composer とは PHP のパッケージ管理ツールです。
便利なパッケージがたくさんあるので、基本的に困ることはなく、コマンド1つでいろんな悩みを解決してくれます。
公式ページの URLhttps://getcomposer.org/
英語の意味は、「指揮者」です。
Blade テンプレートエンジンによる軽く、分かりやすい画面の作成
Blade テンプレートは、PHP の書き方をベースとして、XSS 対策を簡単に行うことができます。
また、その方法が、 {{ }} で囲うだけで、フロントエンドフレームワークである Vue と同じなので覚えやすいです。
CSRF 対策が立ったの1行で実装できます。
=>CSRF トークンの設置方法についてこの記事で書いています。
表示されるファイルの情報は、自動的にキャッシュ化され、表示の高速化に繋がっています。
また 、それ以外の部分は、HTML + CSS と全く同じノリで書け、共通化させたいところは component 化させることも可能で、色々な開発方法が可能となっています。
Eloquent を使った簡単なデータ取得
Eloquent は、Laravel が採用しているデータを操作するための仕組みのことです。
データに紐づいたデータを取得(リレーション)することを簡単、かつ柔軟に操作することが可能になっています。
初心者にも上級者にも合う
Laravel はなんでもできるフレームワーク
Laravel は「なんでもできるフレームワーク」と言っても良いのではないかと僕は思います。
もしくは、「どんな書き方をしても、動かそうと思えば動かせるフレームワーク」とも言い換えられます。
なぜ初心者に合うのか
Laravel は初心者にオススメのフレームワークです。
理由としては、
- 情報量が非常に多い
- コントローラーに全てを書いても動く
- ログイン機能など、よく使われる機能のほとんどはパッケージで実装できる
初心者は、一番初めのとき、フレームワークをみた時に何も分からないと思います。
分からないときはネットで検索をかけて調べるしか方法はないと思いますが、Laravel であればネットに情報がたくさん見つかりますので、非常に解決しやすいです。
なぜ上級者に合うのか
ここで指す上級者というのは「サービスを作る人」という意味での上級者で、フレームワークの上級者という意味ではありません。
Laravel は、冒頭の引用のところでもあったように、「めんどくさいところを解決する雛形」で す。
ある程度雛形が用意された状態から、自分たちが作りたいサービスの形へ変化させるのが最も効率が良く、結果として早く完成させることができるはずです。
フレームワークを利用して、早く質の良いものを作るというのはプログラミングの世界だけではなく、スピーチやプレゼンなどといった別のスキルにも同じようにフレームワークがあります。
Laravel は学習が簡単
Laravel の学習のオススメの方法
Laravel で初めてフレームワークを触る人も多いかと思います。
一般的な人であれば、フレームワークの勉強は1周で 100%を理解することは不可能です。
理解するまで同じところにとどまったとしても、次の内容をやると前の内容は忘れますし、忘れたら戻るようなやり方をしていたら本当に1つの教材も終わりません。
- ハンズオン形式でとりあえず動くコードが書けたら次に進む
- 一度やったところには戻らず、とりあえず最後までやる
というやり方で進めてみてください。
書籍で学習する方法
書籍では、ハンズオン形式で自分のパソコンでコードと画面を動かしながら、成功体験を積むのがオススメです。
例えばこういった書籍があります。
動画で学習する方法
Udemy という動画教材のプラットフォームで選ぶのがオススメです。
書籍と同様にハンズオンで自分の手元で動かしながら進めましょう
PHP から Laravel まで サーバーサイドをとことんやってみよう【初心者から脱初心者へ】【わかりやすさ最重視】
書籍が良いか動画が良いか?
自分は動画派ですが、人それぞれ好みがあるので自分の好きな方を選んでください。
悩んでいる方はとりあえず動画でやってみましょう。
動画の良いところは、実際に画面で何をしているのか見られるので、どういう操作をしているのか想像がつきやすいからです。
Composer のパッケージが豊富
Composer とは?
Composer とは、開発で使うパッケージやライブラリを管理したりインストールしたりできる機能を持つツールです。
PHP で開発する際は必須と言って良いと思います。
Laravel では Composer が初期搭載されている
Laravel では、この Composer を使うことを前提にフレームが作られています。
なので、Composer のパッケージを使いたいと思った時にコマンド1つでパッケージを導入することができます。