Laravel

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

Laravel
開発元 Taylor Otwell
初版 2011年6月 (2011-06)[1]
最新版
11.x.x[2] / 2024年3月12日 (2024-03-12)
リポジトリ
プログラミング
言語
PHP
対応OS クロスプラットフォーム
サポート状況 Active
種別 Webアプリケーションフレームワーク
ライセンス MIT License
公式サイト laravel.com

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

2024年3月12日、laravel.comにおいて、バージョン11がリリースされたことが発表された[7]

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

特徴

主要なWebアプリケーションフレームワークの中では後発のフレームワークであるLaravelのバージョン1は2011年6月にリリースされた。バージョン1のリリース後、バージョン2(2011年11月)バージョン3(2012年2月)と早いペースでリリースされた後、バージョン4(2013年5月)ではコードがゼロベースから書き直され、当時スタンダードになりつつあったパッケージ管理システムのComposerを採用し、PHPの歴史のあるフレームワークであるSymfonyのコンポーネントを利用するなど、抜本的な変更が行われた。[9] 2015年2月にリリースされたバージョン5.0はもともとバージョン4.3としてリリースが予定されていたところ、変更点が大きいということでメジャーバージョンアップ扱いになった経緯がある。[9] コミュニティーの活発な活動を背景に、1年に1度以上のメジャーバージョンアップがあり、またマイナーバージョンアップでも繰り返し機能追加等が行われている。セキュリティフィックスの期限も比較的短期間であるために、Laravelで作られたWebアプリケーションは常に最新のバージョンに対応していく必要がある。バージョン5.5やバージョン6はLTS(Long Term Support)となっており、これらはセキュリティフィックスの期限が3年間となっていたため、LTSのバージョンを利用するユーザは他のバージョンから比較して多かった[10]。しかし、当初LTSの予定だったバージョン9はLTSではなくなり、またバージョン10もLTSではなかったため、利用するユーザはEOLまでに今後リリースされる新しいバージョンへ対応していく必要がある。

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

バージョン

バージョンリリース時期サポート必要PHPバージョン
12011年6月[1]
22011年11月[1]
32012年2月[1]
4.02013年5月[1]5.3以上[11]
4.12013年12月5.3以上[12]
4.22014年6月5.4以上[13]
5.02015年2月5.4以上 [14]
5.12015年9月LTS5.5.9以上 [15]
5.22015年12月5.5.9以上 [16]
5.32016年8月5.6.4以上 [17]
5.42017年1月5.6.4以上 [18]
5.52017年8月[19]LTS7.0以上 [20]
5.62018年2月[21]7.1.3以上 [22]
5.72018年9月[23]7.1.3以上 [24]
5.82019年2月[25]7.1.3以上 [26]
62019年9月[27]LTS7.2以上 [28]
72020年3月[29]7.2.5以上[30]
8 2020年9月[31] 7.3以上[32]
9 2022年2月[33] 8以上[34]
10 2023年2月[33] 8.1以上[35]
11 2024年3月[36] 8.2以上[37]
  • LTS(Long Term Support) のリリースはバグフィックスが2年間、セキュリティフィックスは3年間
  • LTSではない通常のリリースはバグフィックスが18ヵ月、セキュリティフィックスは2年間[38]
  • バージョン6より、セマンティックバージョニング[39]を採用したため、バージョンナンバーのインクリメントはバージョン5系の時代と大きく異なる。
バージョン別機能比較 (Laravel 1 to 4)[1]
バージョンLaravel 1Laravel 2Laravel 3Laravel 4
認証(Auth)
キャッシュ
Eloquent
MySQL
PostgreSQL
SQLite
SQLServer--
マイグレーション--
IoCコンテナ-
Config
Formヘルパー
HTMLヘルパー
URLヘルパー
ルーティング
コントローラー-
モデル
ビュー
モデル間のリレーションシップ-
リダイレクト
レスポンス
String(文字列)ヘルプ関数
バリデーション-
ユニットテスト--
Bladeテンプレートエンジン--
DB Seeding---
キュー---
メール---
ファサード(Facade)---
コマンドライン(CLI)--
拡張性モジュールライブラリモジュールライブラリバンドルライブラリComposerパッケージ
Laravel 4 と Laravel 5 のディレクトリ構造の違い[40][41]
Laravel 4Laravel 5
app/commandsapp/Console
app/configconfig
app/controllersapp/Http/Controllers
app/databasedatabase
app/langresources/lang
app/modelsapp
app/start無し
app/storagestorage
app/teststests
app/viewsresources/views
app/filters.php廃止(app/Providers/FilterServiceProviderに定義)
app/routes.phpapp/Http/routes.php(5.2以降はapp/routes/api.phpに定義)
app/database/production.sqlitestorage/database.sqlite(ファイルはないので自分で作る必要あり)

他のWebアプリケーションフレームワークとの比較と動向

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

カンファレンス

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

Laracon開催スケジュール
日付会場
2013年2月22–23日 ワシントンD.C.
2013年8月30–31日[53] アムステルダム
2014年5月15–16日 ニューヨーク
2014年8月28–30日[54] アムステルダム
2015年8月11–12日[55] ケンタッキー州ルイビル
2015年8月25–26日[56] アムステルダム
2016年7月27–29日[57] ケンタッキー州ルイビル
2016年8月23–24日[58] アムステルダム
2017年3月8日[59] オンライン
2017年7月25–26日[60] ニューヨーク
2017年8月28–30日[61][62] アムステルダム
2018年2月7日[63] オンライン
2018年7月25-26日[64] シカゴ
2019年3月6日[65] オンライン
2019年7月24-25日[66] ニューヨーク(PLAYSTATION THEATER タイムズスクエア)
2020年2月26日[67] オンライン
2020年3月21日[68] 東京(2020年2月21日、新型コロナウイルス感染症(COVID-19)により中止)[69]
2020年8月26日[70] オンライン
2021年3月17日[71] オンライン
2021年9月1日[72] オンライン
2022年2月9日[73] オンライン
2023年7月19-20日[74] ナッシュビル
2024年2月5-6日[75] アムステルダム


ライセンス

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

名前の由来

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

関連するフレームワーク

Laravelを軽量化したマイクロフレームワークとして、Lumenがある。[79]

関連項目

脚注

  1. Maks Surguy (2013年7月27日). History of Laravel PHP framework, Eloquence emerging (英語). maxoffsky.com. 2014年2月23日閲覧。
  2. Laravel 11 Now Available”. blog.laravel.com (2024年3月12日). 2024年3月13日閲覧。
  3. Daniel Gafitescu (2013年6月6日). Goodbye CodeIgniter, Hello Laravel”. sitepoint.com. 2013年12月21日閲覧。
  4. LaravelはポストCodeIgniterの最有力候補なのか”. 2014年2月23日閲覧。
  5. これでスッキリわかる!最新PHPのフレームワーク7選! (2017年3月16日). 2017年5月19日閲覧。
  6. Framework (2019年2月27日). 2019年2月27日閲覧。
  7. Laravel 11 Now Available (英語). The Laravel Blog. 2024年3月13日閲覧。
  8. Laravel 9 is Now Released! (英語). Laravel News. 2022年2月9日閲覧。
  9. Matt StaufferLaravel Up & Running Second EditionO'Reilly Media、p.4
  10. Laravel jp”. Laravel jp. 2019年7月25日閲覧。
  11. laravel/framework v4.1.0 (英語). Packagist. 2018年3月28日閲覧。
  12. laravel/framework v4.2.0 (英語). Packagist. 2018年3月28日閲覧。
  13. laravel/framework v4.3.0 (英語). Packagist. 2018年3月28日閲覧。
  14. laravel/framework v5.0.0 (英語). Packagist. 2018年3月28日閲覧。
  15. laravel/framework v5.1.0 (英語). Packagist. 2018年3月28日閲覧。
  16. laravel/framework v5.2.0 (英語). Packagist. 2018年3月28日閲覧。
  17. laravel/framework v5.3.0 (英語). Packagist. 2018年3月28日閲覧。
  18. laravel/framework v5.4.0 (英語). Packagist. 2018年3月28日閲覧。
  19. Paul Redmond (2017年8月30日). Laravel 5.5 LTS is Now Released (英語). Laravel News. 2017年11月7日閲覧。
  20. laravel/framework v5.5.0 (英語). Laravel News. 2018年3月28日閲覧。
  21. Paul Redmond (2018年2月7日). Laravel 5.6 is Live, Here’s What’s New! (英語). Laravel News. 2018年2月9日閲覧。
  22. laravel/framework v5.6.0 (英語). Laravel News. 2018年3月28日閲覧。
  23. Eric L. Barnes (2018年9月4日). Laravel 5.7 is now released! (英語). Laravel News. 2018年9月4日閲覧。
  24. laravel/framework v5.7.0 (英語). Laravel News. 2018年9月5日閲覧。
  25. PAUL REDMOND (2019年2月26日). Laravel 5.8 is released (英語). Laravel News. 2019年2月27日閲覧。
  26. laravel/framework v5.8.0 (英語). Packagist. 2019年2月27日閲覧。
  27. Laravel 6 Is Now Released (英語). Laravel News (2019年9月3日). 2019-09-3author=PAUL REDMOND閲覧。
  28. laravel/framework/framework”. 2019年9月3日閲覧。
  29. Laravel 7 Is Now Released (英語). Laravel News (2020年3月3日). 2020-03-03 author=ERIC L. BARNES閲覧。
  30. laravel/framework - Packagist”. packagist.org. 2020年9月10日閲覧。
  31. Laravel 8 is Now Released! (英語). Laravel News (2020年9月8日). 2020年9月9日閲覧。
  32. laravel/framework - Packagist”. packagist.org. 2021年7月12日閲覧。
  33. Laravelバージョン”. Laravel Versions. 2023年2月15日閲覧。
  34. laravel/framework - Packagist”. packagist.org. 2021年7月12日閲覧。
  35. laravel/framework - Packagist”. packagist.org. 2022年11月18日閲覧。
  36. Laravel 11 Now Available (英語). The Laravel Blog. 2024年3月13日閲覧。
  37. laravel/framework (英語). packagist.org. 2024年3月13日閲覧。
  38. Release Notes - Laravel - The PHP Framework For Web Artisans”. laravel.com. 2021年10月20日閲覧。
  39. セマンティック バージョニング 2.0.0 (jp). 2019年11月14日閲覧。
  40. Laravel 5 はこう変わる! ディレクトリ構造編
  41. Laravel 5.0.dev リリースノート
  42. どれ使うべき?3大WebフレームワークRails・Django・Laravelを徹底比較してみた”. hatenablog. 2020年1月16日閲覧。
  43. PHP Web Framework Benchmark 2019”. Qiita. 2020年1月16日閲覧。
  44. php-framework-benchmark”. Github. 2020年1月16日閲覧。
  45. Web Framework Benchmarks”. TechEmpower. 2020年1月21日閲覧。
  46. PHP Benchmarks”. InfoDroid. 2020年1月21日閲覧。
  47. Laravelの紹介
  48. Userscape | Home
  49. Laravel wiki”. laravel.io. 2014年1月2日閲覧。
  50. Laracon EU 2013”. laracon.eu. 2014年1月2日閲覧。
  51. Userscape home page”. userscape.com. 2014年1月2日閲覧。
  52. Laracon EU 2013”. laracon.eu. 1月2日2014年閲覧。
  53. Laracon EU 2014”. laracon.eu. 8月30日2014年閲覧。
  54. Laracon 2015 will be in Louisville KY”. laravel-news.com (1月15日2015年). 7月9日2015年閲覧。
  55. Laracon EU 2015”. laracon.eu. 7月9日2015年閲覧。
  56. Eric L. Barnes (1月6日2016年). Laracon tickets are now on sale”. laravel-news.com. 1月7日2016年閲覧。
  57. Eric L. Barnes (1月7日2016年). Laracon EU tickets on sale”. laravel-news.com. 4月7日2016年閲覧。
  58. “Announcing Laracon Online” (英語). Laravel News. (2017年2月6日). https://laravel-news.com/announcing-laracon-online 2017年3月24日閲覧。
  59. “Laracon 2017 – Location and dates have been announced” (英語). Laravel News. (2016年11月9日). https://laravel-news.com/laracon-2017 2017年3月24日閲覧。
  60. 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日閲覧。
  61. “Laracon EU 2017 is Announced” (英語). Laravel News. (2017年1月16日). https://laravel-news.com/laracon-eu-2017-is-announced 2017年3月24日閲覧。
  62. Eric L. Barnes (2017年10月25日). Announcing Laracon Online 2018 (英語). Laravel News. 2017年11月7日閲覧。
  63. Laracon 2018 (英語). Laravel LLC. (2018年7月25日). 2018年9月4日閲覧。
  64. Announcing Laracon Online 2019 (英語). Laravel News (2019年3月6日). 2019年2月25日閲覧。
  65. Laracon Ⅶ (英語). Laravel LLC. (2018年7月24日). 2019年2月25日閲覧。
  66. Laracon Online 2020 The official worldwide Laravel online conference (英語) (2020年2月12日). 2020年2月12日閲覧。
  67. Laravel JP Conference 2020”. Laravel JP Conference 実行委員会 (2020年2月12日). 2020年2月12日閲覧。
  68. Laravel JP Conference 2020”. Laravel JP Conference 実行委員会 (2020年2月21日). 2020年2月25日閲覧。
  69. Laracon Online | The official Laravel online conference (英語). Laracon Online | The official Laravel online conference. 2020年9月9日閲覧。
  70. “[https://laravel-news.com/announcing-laracon-online-2021 Announcing Laracon Online 2021 NEWS]”. 2021年2月26日閲覧。
  71. Laracon Online Summer 2021 (英語). Laravel News. 2021年9月2日閲覧。
  72. Laracon is this week! (英語). Laravel News. 2022年2月8日閲覧。
  73. Laracon 2023 (英語). laracon.us. 2023年12月22日閲覧。
  74. Laracon EU 2024 (英語). laracon.eu. 2023年12月22日閲覧。
  75. The MIT License (MIT)
  76. Laravel PHP Framework
  77. taylorotwellのツイート(339196313155563520)
  78. Lumen - PHP Micro-Framework By Laravel

外部リンク

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.