Laravel

Laravel は、MVCのWebアプリケーション開発用の自由かつオープンソースのPHPで書かれたWebアプリケーションフレームワークである。様々なコミュニティのコンポーネントを使用しており、特にSymfonyは9つのコンポートを利用するなど重要な基盤となっている。LaravelはMITライセンスの下でリリースされており、そのソースコードはGitHubにホスティングされている。マイクロソフトの.NETの開発に関わっていたTaylor Otwell が開発し、Taylorを中心としたコミュニティーが活発な開発を続けている。 2023年12月現在、GitHubでのスター獲得数がPHP, Ruby, Python等のバックエンド系プログラミング言語のフレームワーク中で最も多いなど、人気のフレームワークの1つとなっている 。 2024年3月12日、laravel.comにおいて、バージョン11がリリースされたことが発表された。 今後も約12ヶ月毎にバージョンアップを行い、Symfonyのリリースの2ヶ月後を目途にLaravelのリリースも行われる予定となっている。 主要なWebアプリケーションフレームワークの中では後発のフレームワークであるLaravelのバージョン1は2011年6月にリリースされた。バージョン1のリリース後、バージョン2（2011年11月）バージョン3（2012年2月）と早いペースでリリースされた後、バージョン4(2013年5月)ではコードがゼロベースから書き直され、当時スタンダードになりつつあったパッケージ管理システムのComposerを採用し、PHPの歴史のあるフレームワークであるSymfonyのコンポーネントを利用するなど、抜本的な変更が行われた。 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コマンドを呼び出すといったこともできる。 LTS(Long Term Support) のリリースはバグフィックスが2年間、セキュリティフィックスは3年間 LTSではない通常のリリースはバグフィックスが18ヵ月、セキュリティフィックスは2年間 バージョン6より、セマンティックバージョニングを採用したため、バージョンナンバーのインクリメントはバージョン5系の時代と大きく異なる。 バックエンドのフレームワークにおいて、PHPのLaravel、PythonのDjango、RubyのRuby on Railsが3大バックエンドフレームワークと見なされることもある。 Stack Overflowの質問数でも他のPHPのWebアプリケーションフレームワークがシェアを落とす中、Laravelはシェアを上げており、事実上のPHPのWebアプリケーションフレームワークのデファクトスタンダードと言える状態になっている。 Laravelはベンチマークにおいて他の主要なPHPのWebアプリケーションフレームワークと比較した際、時間あたりのリクエストの処理数は少なく、メモリ使用量は多めである傾向がある。 Laraconは Laravelのコンベンション(カンファレンス)のことである。様々なスポンサーの追加支援を受けたUserScapeによって大規模にオーガナイズ化されて開かれている。 LaravelはMITライセンスの下にライセンスされているオープンソースのソフトウェアである。すなわち、Laravelを誰でも自由・無制限に扱って良い。ただし、著作権表示および本許諾表示をLaravelのすべての複製または重要な部分に記載しなければならない。作者または著作権者は、ソフトウェアに関して一切の責任を負わない。 Laravelの名前は『ナルニア国物語』に登場するナルニア国の王都、ケア・パラベルにちなむ。 Laravelを軽量化したマイクロフレームワークとして、Lumenがある。 Webアプリケーションフレームワーク Django Ruby on Rails Symfony CakePHP CodeIgniter Yii ^ a b c d e f Maks Surguy (2013年7月27日). “History of Laravel PHP framework, Eloquence emerging” (英語). maxoffsky.com. 2014年2月23日閲覧。 ^ “Laravel 11 Now Available”. blog.laravel.com (2024年3月12日). 2024年3月13日閲覧。 ^ Daniel Gafitescu (2013年6月6日). “Goodbye CodeIgniter, Hello Laravel”. sitepoint.com. 2013年12月21日閲覧。 ^ “LaravelはポストCodeIgniterの最有力候補なのか”. 2014年2月23日閲覧。 ^ “これでスッキリわかる！最新PHPのフレームワーク7選！” (2017年3月16日). 2017年5月19日閲覧。 ^ “Framework” (2019年2月27日). 2019年2月27日閲覧。 ^ “Laravel 11 Now Available” (英語). The Laravel Blog. 2024年3月13日閲覧。 ^ “Laravel 9 is Now Released!” (英語). Laravel News. 2022年2月9日閲覧。 ^ a b Matt Stauffer『Laravel Up & Running Second Edition』O'Reilly Media、p.4 ^ “Laravel jp”. Laravel jp. 2019年7月25日閲覧。 ^ “laravel/framework v4.1.0” (英語). Packagist. 2018年3月28日閲覧。 ^ “laravel/framework v4.2.0” (英語). Packagist. 2018年3月28日閲覧。 ^ “laravel/framework v4.3.0” (英語). Packagist. 2018年3月28日閲覧。 ^ “laravel/framework v5.0.0” (英語). Packagist. 2018年3月28日閲覧。 ^ “laravel/framework v5.1.0” (英語). Packagist. 2018年3月28日閲覧。 ^ “laravel/framework v5.2.0” (英語). Packagist. 2018年3月28日閲覧。 ^ “laravel/framework v5.3.0” (英語). Packagist. 2018年3月28日閲覧。 ^ “laravel/framework v5.4.0” (英語). Packagist. 2018年3月28日閲覧。 ^ Paul Redmond (2017年8月30日). “Laravel 5.5 LTS is Now Released” (英語). Laravel News. 2017年11月7日閲覧。 ^ “laravel/framework v5.5.0” (英語). Laravel News. 2018年3月28日閲覧。 ^ Paul Redmond (2018年2月7日). “Laravel 5.6 is Live, Here’s What’s New!” (英語). Laravel News. 2018年2月9日閲覧。 ^ “laravel/framework v5.6.0” (英語). Laravel News. 2018年3月28日閲覧。 ^ Eric L. Barnes (2018年9月4日). “Laravel 5.7 is now released!” (英語). Laravel News. 2018年9月4日閲覧。 ^ “laravel/framework v5.7.0” (英語). Laravel News. 2018年9月5日閲覧。 ^ PAUL REDMOND (2019年2月26日). “Laravel 5.8 is released” (英語). Laravel News. 2019年2月27日閲覧。 ^ “laravel/framework v5.8.0” (英語). Packagist. 2019年2月27日閲覧。 ^ “Laravel 6 Is Now Released” (英語). Laravel News (2019年9月3日). 2019-09-3author=PAUL REDMOND閲覧。 ^ “laravel/framework/framework”. 2019年9月3日閲覧。 ^ “Laravel 7 Is Now Released” (英語). Laravel News (2020年3月3日). 2020-03-03 author=ERIC L. BARNES閲覧。 ^ “laravel/framework - Packagist”. packagist.org. 2020年9月10日閲覧。 ^ “Laravel 8 is Now Released!” (英語). Laravel News (2020年9月8日). 2020年9月9日閲覧。 ^ “laravel/framework - Packagist”. packagist.org. 2021年7月12日閲覧。 ^ a b “Laravelバージョン”. Laravel Versions. 2023年2月15日閲覧。 ^ “laravel/framework - Packagist”. packagist.org. 2021年7月12日閲覧。 ^ “laravel/framework - Packagist”. packagist.org. 2022年11月18日閲覧。 ^ “Laravel 11 Now Available” (英語). The Laravel Blog. 2024年3月13日閲覧。 ^ “laravel/framework” (英語). packagist.org. 2024年3月13日閲覧。 ^ “Release Notes - Laravel - The PHP Framework For Web Artisans”. laravel.com. 2021年10月20日閲覧。 ^ “セマンティック バージョニング 2.0.0” (jp). 2019年11月14日閲覧。 ^ Laravel 5 はこう変わる！ ディレクトリ構造編 ^ Laravel 5.0.dev リリースノート ^ “どれ使うべき？3大WebフレームワークRails・Django・Laravelを徹底比較してみた”. hatenablog. 2020年1月16日閲覧。 ^ “Stack Overflow Trends”. stackoverflow. 2020年1月16日閲覧。 ^ “PHP Web Framework Benchmark 2019”. Qiita. 2020年1月16日閲覧。 ^ “php-framework-benchmark”. Github. 2020年1月16日閲覧。 ^ “Web Framework Benchmarks”. TechEmpower. 2020年1月21日閲覧。 ^ “PHP Benchmarks”. InfoDroid. 2020年1月21日閲覧。 ^ Laravelの紹介 ^ Userscape | Home ^ “Laravel wiki”. laravel.io. 2014年1月2日閲覧。[リンク切れ] ^ “Laracon EU 2013”. laracon.eu. 2014年1月2日閲覧。 ^ “Userscape home page”. userscape.com. 2014年1月2日閲覧。 ^ “Laracon EU 2013”. laracon.eu. 1月2日2014年閲覧。 ^ “Laracon EU 2014”. laracon.eu. 8月30日2014年閲覧。 ^ “Laracon 2015 will be in Louisville KY”. laravel-news.com (1月15日2015年). 7月9日2015年閲覧。 ^ “Laracon EU 2015”. laracon.eu. 7月9日2015年閲覧。 ^ Eric L. Barnes (1月6日2016年). “Laracon tickets are now on sale”. laravel-news.com. 1月7日2016年閲覧。 ^ Eric L. Barnes (1月7日2016年). “Laracon EU tickets on sale”. laravel-news.com. 4月7日2016年閲覧。 ^ “Announcing Laracon Online” (英語). Laravel News. (2017年2月6日). https://laravel-news.com/announcing-laracon-online 2017年3月24日閲覧。  ^ “Laracon 2017 – Location and dates have been announced” (英語). Laravel News. (2016年11月9日). https://laravel-news.com/laracon-2017 2017年3月24日閲覧。  ^ WebEngineers. “Announcing Laracon EU 2017 the official European Laravel conference.” (英語). Laracon EU 2017. https://laracon.eu/2017/news/2017/01/12/announcing-laracon-eu-2017-the-official-european-laravel-conference/ 2017年3月24日閲覧。  ^ “Laracon EU 2017 is Announced” (英語). Laravel News. (2017年1月16日). https://laravel-news.com/laracon-eu-2017-is-announced 2017年3月24日閲覧。  ^ Eric L. Barnes (2017年10月25日). “Announcing Laracon Online 2018” (英語). Laravel News. 2017年11月7日閲覧。 ^ “Laracon 2018” (英語). Laravel LLC. (2018年7月25日). 2018年9月4日閲覧。 ^ “Announcing Laracon Online 2019” (英語). Laravel News (2019年3月6日). 2019年2月25日閲覧。 ^ “Laracon Ⅶ” (英語). Laravel LLC. (2018年7月24日). 2019年2月25日閲覧。 ^ “Laracon Online 2020 The official worldwide Laravel online conference” (英語) (2020年2月12日). 2020年2月12日閲覧。 ^ “Laravel JP Conference 2020”. Laravel JP Conference 実行委員会 (2020年2月12日). 2020年2月12日閲覧。 ^ “Laravel JP Conference 2020”. Laravel JP Conference 実行委員会 (2020年2月21日). 2020年2月25日閲覧。 ^ “Laracon Online | The official Laravel online conference” (英語). Laracon Online | The official Laravel online conference. 2020年9月9日閲覧。 ^ “[https://laravel-news.com/announcing-laracon-online-2021 Announcing Laracon Online 2021 NEWS]”. 2021年2月26日閲覧。 ^ “Laracon Online Summer 2021” (英語). Laravel News. 2021年9月2日閲覧。 ^ “Laracon is this week!” (英語). Laravel News. 2022年2月8日閲覧。 ^ “Laracon 2023” (英語). laracon.us. 2023年12月22日閲覧。 ^ “Laracon EU 2024” (英語). laracon.eu. 2023年12月22日閲覧。 ^ The MIT License (MIT) ^ Laravel PHP Framework ^ taylorotwellのツイート（339196313155563520） ^ Lumen - PHP Micro-Framework By Laravel Laravel - The PHP Framework For Web Artisans 公式サイト（英語） Laravel Documentation（英語） Laravel API（英語） Laravel News（英語） Laravel Versions（英語） Laravelに関する記事 - Qiita