Laravel

Webアプリケーションフレームワークの一つ
Lumenから転送)

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

Laravel
開発元 Taylor Otwell
初版 2011年6月 (13年前) (2011-06)[1]
最新版
11.x.x[2] / 2024年3月12日 (7か月前) (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バージョン
1 2011年6月[1]
2 2011年11月[1]
3 2012年2月[1]
4.0 2013年5月[1] 5.3以上[11]
4.1 2013年12月 5.3以上[12]
4.2 2014年6月 5.4以上[13]
5.0 2015年2月 5.4以上 [14]
5.1 2015年9月 LTS 5.5.9以上 [15]
5.2 2015年12月 5.5.9以上 [16]
5.3 2016年8月 5.6.4以上 [17]
5.4 2017年1月 5.6.4以上 [18]
5.5 2017年8月[19] LTS 7.0以上 [20]
5.6 2018年2月[21] 7.1.3以上 [22]
5.7 2018年9月[23] 7.1.3以上 [24]
5.8 2019年2月[25] 7.1.3以上 [26]
6 2019年9月[27] LTS 7.2以上 [28]
7 2020年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 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 のディレクトリ構造の違い[40][41]
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大バックエンドフレームワークと見なされることもある[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. ^ a b c d e f 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. ^ a b 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. ^ a b 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

外部リンク

編集