出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2026/02/16 08:46 UTC 版)
| |
|
| 開発元 | Taylor Otwell |
|---|---|
| 初版 | 2011年6月[1] |
| 最新版 | |
| リポジトリ | |
| プログラミング 言語 |
PHP |
| 対応OS | クロスプラットフォーム |
| サポート状況 | Active |
| 種別 | Webアプリケーションフレームワーク |
| ライセンス | MIT License |
| 公式サイト | laravel |
Laravel は、MVCのWebアプリケーション開発用の自由かつオープンソースのPHPで書かれたWebアプリケーションフレームワークである。様々なコミュニティのコンポーネントを使用しており、特にSymfonyは9つのコンポートを利用するなど重要な基盤となっている。LaravelはMITライセンスの下でリリースされており、そのソースコードはGitHubにホスティングされている[3]。マイクロソフトの.NETの開発に関わっていたTaylor Otwell が開発し、Taylorを中心としたコミュニティーが活発な開発を続けている[4]。
2023年12月現在、GitHubでのスター獲得数がPHP, Ruby, Python等のバックエンド系プログラミング言語のフレームワーク中で最も多いなど、人気のフレームワークの1つとなっている[5] [6]。
2025年2月24日、Laravel News[7] において、バージョン12がリリースされたことが発表された[8]。
今後も約12ヶ月毎にバージョンアップを行い、Symfonyのリリースの2ヶ月後を目途にLaravelのリリースも行われる予定となっている[9]。
主要なWebアプリケーションフレームワークの中では後発のフレームワークであるLaravelのバージョン1は2011年6月にリリースされた。バージョン1のリリース後、バージョン2(2011年11月)バージョン3(2012年2月)と早いペースでリリースされた後、バージョン4(2013年5月)ではコードがゼロベースから書き直され、当時スタンダードになりつつあったパッケージ管理システムのComposerを採用し、PHPの歴史のあるフレームワークであるSymfonyのコンポーネントを利用するなど、抜本的な変更が行われた。[10] 2015年2月にリリースされたバージョン5.0はもともとバージョン4.3としてリリースが予定されていたところ、変更点が大きいということでメジャーバージョンアップ扱いになった経緯がある。[10]
コミュニティーの活発な活動を背景に、1年に1度以上のメジャーバージョンアップがあり、またマイナーバージョンアップでも繰り返し機能追加等が行われている。セキュリティフィックスの期限も比較的短期間であるために、Laravelで作られたWebアプリケーションは常に最新のバージョンに対応していく必要がある。
バージョン5.5やバージョン6はLTS(Long Term Support)となっており、これらはセキュリティフィックスの期限が3年間となっていたため、LTSのバージョンを利用するユーザは他のバージョンから比較して多かった[11]。しかし、当初LTSの予定だったバージョン9はLTSではなくなり、またバージョン10もLTSではなかったため、利用するユーザはEOLまでに今後リリースされる新しいバージョンへ対応していく必要がある。
LaravelはフルスタックのWebアプリケーションフレームワークであり、ルーティング、リエクスト処理、ビュー、クエリビルダー、ORM(オブジェクト関係マッピング)、DI(依存性の注入)、認証等のユーザ管理、ユニットテスト、ブラウザテスト等、現代的なフレームワークが要求される一通りの機能を実装している。またコンソールからArtisanコマンド(Ruby on Railsのrailsコマンドに相当)を利用することにより、コントローラやビューの雛形の作成、データベーススキーマの作成等、一通りの作業を行うことができる。また、ユーザのオリジナルのArtisanコマンドを作成したり、コントローラ等の通常のコード内からArtisanコマンドを呼び出すといったこともできる。
| バージョン | リリース時期 | サポート | 必要PHPバージョン |
|---|---|---|---|
| 1 | 2011年6月[1] | ||
| 2 | 2011年11月[1] | ||
| 3 | 2012年2月[1] | ||
| 4.0 | 2013年5月[1] | 5.3以上[12] | |
| 4.1 | 2013年12月 | 5.3以上[13] | |
| 4.2 | 2014年6月 | 5.4以上[14] | |
| 5.0 | 2015年2月 | 5.4以上 [15] | |
| 5.1 | 2015年9月 | LTS | 5.5.9以上 [16] |
| 5.2 | 2015年12月 | 5.5.9以上 [17] | |
| 5.3 | 2016年8月 | 5.6.4以上 [18] | |
| 5.4 | 2017年1月 | 5.6.4以上 [19] | |
| 5.5 | 2017年8月[20] | LTS | 7.0以上 [21] |
| 5.6 | 2018年2月[22] | 7.1.3以上 [23] | |
| 5.7 | 2018年9月[24] | 7.1.3以上 [25] | |
| 5.8 | 2019年2月[26] | 7.1.3以上 [27] | |
| 6 | 2019年9月[28] | LTS | 7.2以上 [29] |
| 7 | 2020年3月[30] | 7.2.5以上[31] | |
| 8 | 2020年9月[32] | 7.3以上[33] | |
| 9 | 2022年2月[34] | 8以上[35] | |
| 10 | 2023年2月[34] | 8.1以上[36] | |
| 11 | 2024年3月[37] | 8.2以上[38] | |
| 12 | 2025年2月[8] | 8.2以上[39] | |
| 13 | 2026年第1四半期を予定 | 8.3以上[40] |
| バージョン | 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 |
|---|---|
| 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(ファイルはないので自分で作る必要あり) |
Laraconは Laravelのコンベンション(カンファレンス)のことである[51]。様々なスポンサーの追加支援を受けたUserScape[52]によって大規模にオーガナイズ化されて開かれている[53][54][55]。
| 日付 | カンファレンス名・会場 |
|---|---|
| 2013年2月22–23日 | ワシントンD.C. |
| 2013年8月30–31日[56] | アムステルダム |
| 2014年5月15–16日 | ニューヨーク |
| 2014年8月28–30日[57] | アムステルダム |
| 2015年8月11–12日[58] | ケンタッキー州ルイビル |
| 2015年8月25–26日[59] | アムステルダム |
| 2016年7月27–29日[60] | ケンタッキー州ルイビル |
| 2016年8月23–24日[61] | アムステルダム |
| 2017年3月8日[62] | オンライン |
| 2017年7月25–26日[63] | ニューヨーク |
| 2017年8月28–30日[64][65] | アムステルダム |
| 2018年2月7日[66] | オンライン |
| 2018年7月25-26日[67] | シカゴ |
| 2019年3月6日[68] | オンライン |
| 2019年7月24-25日[69] | ニューヨーク(PLAYSTATION THEATER タイムズスクエア) |
| 2020年2月26日[70] | オンライン |
| 2020年3月21日[71] | 東京(2020年2月21日、新型コロナウイルス感染症(COVID-19)により中止)[72] |
| 2020年8月26日[73] | オンライン |
| 2021年3月17日[74] | オンライン |
| 2021年9月1日[75] | オンライン |
| 2022年2月9日[76] | オンライン |
| 2023年7月19-20日[77] | ナッシュビル |
| 2024年2月5-6日[78] | アムステルダム |
| 2026年5月26-27日[79] | 「Laravel Live Japan」 立川ステージガーデン 東京 |
| 2026年7月28-29日[80] | 「LARACON 2026」 SoWa Power Station マサチューセッツ州 ボストン |
LaravelはMITライセンス[81]の下にライセンスされているオープンソースのソフトウェアである[82]。すなわち、Laravelを誰でも自由・無制限に扱って良い。ただし、著作権表示および本許諾表示をLaravelのすべての複製または重要な部分に記載しなければならない。作者または著作権者は、ソフトウェアに関して一切の責任を負わない。
Laravelの名前は『ナルニア国物語』に登場するナルニア国の王都、ケア・パラベルにちなむ[83]。
Laravelを軽量化したマイクロフレームワークとして、Lumenがある。[84]