ホーム
Sponserd by↑転職したい人向け、ベンチャー企業の採用動画があります

Laravelとは?現在の、PHPフレームワークの筆頭として大活躍

サービス開発をしようとなると、

○ どの言語を使うか?

○ どのフレームワークを使うか

○ インフラは何を使うか

など考えると思います。

その中で、今回は現在 PHP のフレームの中で最も人気のフレームワークである Laravel について書いていきたいと思います。

目次

  1. Laravel とは?
  2. 基本的な機能
  3. 初心者にも上級者にも合う
  4. Ruby on Rails との比較
  5. まとめ

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:

現在、安定版が 6.x、最新版がバージョン8となっています。

基本的な機能

○ シンプルで高速なルーティングエンジン

○ 強力な依存性注入コンテナ

○ セッションやキャッシュを保存する複数のバックエンド

○ 表現力豊かで直感的なデータベース 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/

英語の意味は、「指揮者」です。

⇨Composer をインストールする方法はこちらの記事

Blade テンプレートエンジンによる軽く、分かりやすい画面の作成

Blade テンプレートは、PHP の書き方をベースとして、XSS 対策を簡単に行うことができます。

また、その方法が、 {{ }} で囲うだけで、フロントエンドフレームワークである Vue と同じなので覚えやすいです。

CSRF 対策が立ったの1行で実装できます。

=>CSRF トークンの設置方法についてこの記事で書いています。

表示されるファイルの情報は、自動的にキャッシュ化され、表示の高速化に繋がっています。

また、それ以外の部分は、HTML + CSS と全く同じノリで書け、共通化させたいところは component 化させることも可能で、色々な開発方法が可能となっています。

Eloquent を使った簡単なデータ取得

Eloquent は、Laravel が採用しているデータを操作するための仕組みのことです。

データに紐づいたデータを取得(リレーション)することを簡単、かつ柔軟に操作することが可能になっています。

初心者にも上級者にも合う

Laravel は「なんでもできるフレームワーク」と言っても良いのではないかと僕は思います。

もしくは、「どんな書き方をしても、動かそうと思えば動かせるフレームワーク」とも言い換えられます。

なぜ初心者に合うのか

情報量が非常に多いです。

初心者は、一番最初フレームワークをみた時に何も分からないと思います。

分からないときはネットで検索をかけて調べるしか方法はないと思いますが、Laravel であればネットに情報が無限に転がっているので、非常に解決しやすいです。

なぜ上級者に合うのか

ここで指す上級者というのは「サービスを作る人」という意味での上級者で、フレームワークの上級者という意味ではありません。

Laravel は、冒頭の引用のところでもあったように、「めんどくさいところを解決する雛形」です。

ある程度雛形が用意された状態から、自分たちが作りたいサービスの形へ変化させるのが最も効率が良く、結果として早く完成させることができるはずです。

フレームワークを利用して、早く質の良いものを作るというのはプログラミングの世界だけではなく、スピーチやプレゼンなどにもフレームワークがあります。

Ruby on Rails との比較

Ruby on Rails は Ruby のフレームワークで MVC モデルで Laravel と似たようなフレームワークです(Laravel は RubyonRails から多大なる影響を受けて作られているはずです)

まず最初に検索の比較を Google トレンドで検索してみました。

LaravelとRubyonRailsの検索数の比較

https://trends.google.co.jp/trends/explore?date=all&q=Rails,Laravel

Laravel は 2011 年にリリースされ、バージョン 5.5 で劇的に使いやすくなった、ということでそこから需要が増えています。

現在では、若干ですが Laravel の方が Google トレンド上の数値は上みたいですが、「同じくらい」人気だと思います。

自分は、フレームワークがどちらが良いとかは思わないのですが、ruby は言語的に独特な書き方があるので、今まで php をやってきた人であれば、

Laravel の方がおすすめなのではないかな?と思います。

自分は、クラウドワークスで案件を取るために RubyonRails でブログを作成して、その後 Laravel を学習する機会があり現在 Laravel のプロダクトに関わっていますが、そんなに差はないです。

つまり、RubyonRails を使えれば Laravel が使えないということはないでしょうし、Laravel が使えれば RubyonRails が使えないということはないと思います。もちろん好みはあると思いますが。

要するに、「Laravel と Rails のどっちを学ぼうか?」となった時はそこまで悩む必要はないと思います。

このブログにたどり着いた時点で Laravel を学んでいい気はします。

まとめ

以上、ざっくりではありますが Laravel についてまとめてみました。

Laravel は Vue を入れたり React を入れることも簡単ですし、Blade テンプレートはデプロイすれば分かりますが本当に軽いですし、もちろん API としても使うこともできます。

Laravel は半年や1年でバージョンがアップされており、現在も積極的に開発が進んでいるフレームワークなので、もっと便利になっていくのでは?と期待しています。

ポートフォリオでなんのフレームワークを覚えよう?と悩んでいる方は、全然 Laravel で大丈夫だと思いますので(つい最近知り合いが Laravel のポートフォリオで未経験採用されています)、自信を持って学習を進めていいのではないかな?と思います。

それでは、最後まで読んでいただきありがとうございました。