Laravel

Laravel は、MVCのWebアプリケーション開発用の自由かつオープンソースのPHPで書かれたWebアプリケーションフレームワークである。様々なコミュニティのコンポーネントを使用しており、特にSymfonyは9つのコンポートを利用するなど重要な基盤となっている。LaravelはMITライセンスの下でリリースされており、そのソースコードはGitHubにホスティングされている。マイクロソフトの.NETの開発に関わっていたTaylor Otwell が開発し、Taylorを中心としたコミュニティーが活発な開発を続けている。

2023年12月現在、GitHubでのスター獲得数がPHP, Ruby, Python等のバックエンド系プログラミング言語のフレームワーク中で最も多いなど、人気のフレームワークの1つとなっている
。

2025年2月24日、Laravel News において、バージョン12がリリースされたことが発表された。

今後も約12ヶ月毎にバージョンアップを行い、Symfonyのリリースの2ヶ月後を目途にLaravelのリリースも行われる予定となっている。

 特徴 
主要なWebアプリケーションフレームワークの中では後発のフレームワークであるLaravelのバージョン1は2011年6月にリリースされた。バージョン1のリリース後、バージョン2（2011年11月）バージョン3（2012年2月）と早いペースでリリースされた後、バージョン4(2013年5月)ではコードがゼロベースから書き直され、当時スタンダードになりつつあったパッケージ管理システムのComposerを採用し、PHPの歴史のあるフレームワークであるSymfonyのコンポーネントを利用するなど、抜本的な変更が行われた。Matt Stauffer『Laravel Up & Running Second Edition』O'Reilly Media、p.4
2015年2月にリリースされたバージョン5.0はもともとバージョン4.3としてリリースが予定されていたところ、変更点が大きいということでメジャーバージョンアップ扱いになった経緯がある。

コミュニティーの活発な活動を背景に、1年に1度以上のメジャーバージョンアップがあり、またマイナーバージョンアップでも繰り返し機能追加等が行われている。セキュリティフィックスの期限も比較的短期間であるために、Laravelで作られたWebアプリケーションは常に最新のバージョンに対応していく必要がある。

バージョン5.5やバージョン6はLTS(Long Term Support)となっており、これらはセキュリティフィックスの期限が3年間となっていたため、LTSのバージョンを利用するユーザは他のバージョンから比較して多かった。しかし、当初LTSの予定だったバージョン9はLTSではなくなり、またバージョン10もLTSではなかったため、利用するユーザはEOLまでに今後リリースされる新しいバージョンへ対応していく必要がある。

LaravelはフルスタックのWebアプリケーションフレームワークであり、ルーティング、リエクスト処理、ビュー、クエリビルダー、ORM(オブジェクト関係マッピング)、DI(依存性の注入)、認証等のユーザ管理、ユニットテスト、ブラウザテスト等、現代的なフレームワークが要求される一通りの機能を実装している。またコンソールからArtisanコマンド（Ruby on Railsのrailsコマンドに相当）を利用することにより、コントローラやビューの雛形の作成、データベーススキーマの作成等、一通りの作業を行うことができる。また、ユーザのオリジナルのArtisanコマンドを作成したり、コントローラ等の通常のコード内からArtisanコマンドを呼び出すといったこともできる。

 バージョン 

 バージョン  リリース時期   サポート  必要PHPバージョン 1  2011年6月     2   2011年11月      3  2012年2月     4.0  2013年5月    5.3以上 4.1  2013年12月    5.3以上 4.2  2014年6月    5.4以上 5.0  2015年2月    5.4以上  5.1  2015年9月  LTS  5.5.9以上  5.2  2015年12月    5.5.9以上  5.3  2016年8月    5.6.4以上  5.4  2017年1月    5.6.4以上  5.5  2017年8月  LTS  7.0以上  5.6  2018年2月   7.1.3以上  5.7  2018年9月   7.1.3以上  5.8  2019年2月   7.1.3以上  6  2019年9月  LTS  7.2以上  7  2020年3月    7.2.5以上82020年9月7.3以上92022年2月8以上102023年2月8.1以上112024年3月8.2以上122025年2月8.2以上132026年第1四半期を予定8.3以上

LTS(Long Term Support) のリリースはバグフィックスが2年間、セキュリティフィックスは3年間
LTSではない通常のリリースはバグフィックスが18ヵ月、セキュリティフィックスは2年間
バージョン6より、セマンティックバージョニングを採用したため、バージョンナンバーのインクリメントはバージョン5系の時代と大きく異なる。

+ バージョン別機能比較 (Laravel 1 to 4) バージョン  Laravel 1  Laravel 2  Laravel 3 Laravel 4  認証(Auth)  ○  ○  ○  ○  キャッシュ  ○  ○  ○  ○  Eloquent  ○  ○  ○  ○   MySQL  ○  ○  ○  ○  PostgreSQL  ○  ○  ○  ○  SQLite  ○  ○  ○  ○  SQLServer  -  -  ○  ○  マイグレーション  -  -  ○  ○  IoCコンテナ  -  ○  ○  ○  Config  ○  ○  ○  ○  Formヘルパー  ○  ○  ○  ○  HTMLヘルパー  ○  ○  ○  ○  URLヘルパー  ○  ○  ○  ○  ルーティング  ○  ○  ○  ○  コントローラー  -  ○  ○  ○  モデル  ○  ○  ○  ○  ビュー  ○  ○  ○  ○  モデル間のリレーションシップ  -  ○  ○  ○  リダイレクト  ○  ○  ○  ○  レスポンス  ○  ○  ○  ○  String(文字列)ヘルプ関数  ○  ○  ○  ○  バリデーション  -  ○  ○  ○  ユニットテスト  -  -  ○  ○  Bladeテンプレートエンジン  -  -  ○  ○  DB Seeding  -  -  -  ○  キュー  -  -  -  ○ メール  -  -  -  ○ ファサード(Facade)  -  -  -  ○ コマンドライン(CLI)  -  -  ○  ○  拡張性  モジュールライブラリ  モジュールライブラリ  バンドルライブラリ  Composerパッケージ 

+ Laravel 4　と　Laravel 5　のディレクトリ構造の違いLaravel 5 はこう変わる！ ディレクトリ構造編Laravel 5.0.dev リリースノート Laravel 4  Laravel 5  app/commands  app/Console app/config  config app/controllers  app/Http/Controllers app/database  database app/lang  resources/lang app/models  app app/start  無し app/storage  storage app/tests  tests app/views  resources/views app/filters.php  廃止(app/Providers/FilterServiceProviderに定義) app/routes.php  app/Http/routes.php(5.2以降はapp/routes/api.phpに定義) app/database/production.sqlite  storage/database.sqlite(ファイルはないので自分で作る必要あり)

 他のWebアプリケーションフレームワークとの比較と動向 
バックエンドのフレームワークにおいて、PHPのLaravel、PythonのDjango、RubyのRuby on Railsが3大バックエンドフレームワークと見なされることもある。
Stack Overflowの質問数でも他のPHPのWebアプリケーションフレームワークがシェアを落とす中、Laravelはシェアを上げており、事実上のPHPのWebアプリケーションフレームワークのデファクトスタンダードと言える状態になっている。
Laravelはベンチマークにおいて他の主要なPHPのWebアプリケーションフレームワークと比較した際、時間あたりのリクエストの処理数は少なく、メモリ使用量は多めである傾向がある。

 カンファレンス 
Laraconは Laravelのコンベンション(カンファレンス)のことであるLaravelの紹介。様々なスポンサーの追加支援を受けたUserScapeUserscape | Homeによって大規模にオーガナイズ化されて開かれている。

+ Laracon開催スケジュール 日付              カンファレンス名・会場2013年2月22–23日　 ワシントンD.C.	2013年8月30–31日　 アムステルダム2014年5月15–16日　 ニューヨーク2014年8月28–30日　 アムステルダム2015年8月11–12日　 ケンタッキー州ルイビル2015年8月25–26日　 アムステルダム2016年7月27–29日ケンタッキー州ルイビル2016年8月23–24日アムステルダム2017年3月8日オンライン2017年7月25–26日ニューヨーク2017年8月28–30日アムステルダム2018年2月7日オンライン2018年7月25-26日シカゴ2019年3月6日オンライン2019年7月24-25日ニューヨーク（PLAYSTATION THEATER タイムズスクエア）2020年2月26日オンライン2020年3月21日東京(2020年2月21日、新型コロナウイルス感染症(COVID-19)により中止）2020年8月26日オンライン2021年3月17日オンライン2021年9月1日オンライン2022年2月9日オンライン2023年7月19-20日ナッシュビル2024年2月5-6日アムステルダム2026年5月26-27日「Laravel Live Japan」　立川ステージガーデン　東京 2026年7月28-29日「LARACON 2026」  SoWa Power Station マサチューセッツ州 ボストン

 ライセンス 
LaravelはMITライセンスThe MIT License (MIT)の下にライセンスされているオープンソースのソフトウェアであるLaravel PHP Framework。すなわち、Laravelを誰でも自由・無制限に扱って良い。ただし、著作権表示および本許諾表示をLaravelのすべての複製または重要な部分に記載しなければならない。作者または著作権者は、ソフトウェアに関して一切の責任を負わない。

 名前の由来 
Laravelの名前は『ナルニア国物語』に登場するナルニア国の王都、ケア・パラベルにちなむ。

 関連するフレームワーク 
Laravelを軽量化したマイクロフレームワークとして、Lumenがある。Lumen - PHP Micro-Framework By Laravel

 関連項目 
Webアプリケーションフレームワーク
Django
Ruby on Rails
Symfony
CakePHP
CodeIgniter
Yii

 脚注 

 外部リンク 
 Laravel - The PHP Framework For Web Artisans 公式サイト（英語）
 Laravel Documentation（英語）
 Laravel API（英語）
 Laravel News（英語）
Laravel Versions（英語）


Category:オープンソースソフトウェア
Category:ウェブアプリケーションフレームワーク
Category:PHPでプログラムされた自由ソフトウェア
Category:PHPフレームワーク