deha magazine / オフショア開発 / 【徹底説明】PHP WebフレームワークLaravelバージョン 8対応版の機能・変更した点

【徹底説明】PHP WebフレームワークLaravelバージョン 8対応版の機能・変更した点

2021/08/31

Laravelは、PHPのWebフレームワークの中では、現在一番人気があります。
2011年に公開されてからアップデートを繰り返しており、2020年9月にはLaravelバージョン8が公開されました。

今回は、Laravelバージョン8の機能についてまとめます。

Laravelバージョン8で追加変更された機能一覧

Laravelは、symfonyをベースに作られたWebフレームワークで、「コードが読みやすい」「MVCモデルを採用している」「拡張性と自由度が高い」と言った特徴があります。

バージョン8では、以下のような機能が追加・変更されました。

  • Laravel Jetstream
  • モデルファイルの場所変更
  • ダミーデータ作成がより便利に
  • 不要なマイグレーションファイルの処理
  • ジョブのバッチ機能追加
  • Rate Limitingの改善
  • メンテナンスモード改良
  • Closure Dispatch / Chain
  • Dynamic Blade Components
  • イベントリスナー処理の改良
  • 新たな時間変更の関数が利用可能に
  • Artisan Serveコマンドの改良
  • ページネーションビュー変更
  • ルートファイルの名前空間の変更

Laravelバージョン8の主要な変更点

一部の変更点について抜粋して解説します。

Laravel Jetstream

Laravel Jetstreamは、ログイン・認証機能です。使うことで、以下のような機能が簡単に実装できます。

  • ログイン
  • ユーザー登録
  • メール認証(本人確認、本登録メール)
  • 2段階認証
  • セッション管理
  • API(Laravel Sanctum)
  • チーム管理

ログイン機能自体はlaravel/uiという別パッケージとして、以前から存在していましたが、Laravel Jetstreamから「チーム管理」が追加されています。

これにより、マイグレーションの変更なしに、各ユーザーのカテゴリ分けが可能です。

またLaravel Jetstreamでは、以下のような内部的な変更もありました。

  • 利用しているCSSフレームワークがbootstrapからTailwind CSSになった
  • JavaScriptのシステムとして、LivewireまたはInertiaのどちらかのライブラリを選択できるようになった

モデルファイルの場所変更

従来のLaravelでは、モデルファイルがappディレクトリ直下に存在していましたが、バージョン8からはapp/Modelsディレクトリ下に変更となりました。

ファイルをモデル(データベースの操作などを行う部分)、ビュー(画面を操作する部分)、コントローラー(データの処理を行う部分)の3つに分ける考え方を、MVCモデルと言います。

MVCモデルを採用するメリットは、ソースコードの管理や拡張がしやすくなり開発効率が良くなるという点です。

これまでのLaravelでは、コントローラーファイルは「Controller」ディレクト、ビューファイルは「View」ディレクトリに入っているのに、モデルファイルだけ変な場所にあるという状態でした。

ディレクトリ構成が変わったことで、よりソース管理しやすくなると思われます。

Rate Limitingの改善

Rate Limiting(レート制限)とは、アクセス制限のことです。
繰り返しの制限など、条件を定めてアクセス制限を行うことができます。

PHPはサーバーサイドで主に使われる言語ですが、サーバー側ではサーバーの負荷軽減や総当り攻撃(ブルートフォース攻撃)対策などのために、アクセス制限を行います。

以前から、Laravelにはレート制限機能が存在しましたが、更に使いやすく改善されています。

ルートファイルの名前空間の変更

RouteServiceProviderファイルのファイル設定が変更されています。

従来のLaravelでは、RouteServiceProviderファイルにコントローラーのパスが予め指定されていましたが、その記述がなくなりました。

より自由に開発することができるようになった反面、記述が増えてしまったというデメリットもあります。

従来の使い方の方が良い場合は、RouteServiceProviderファイルにコントローラーのパスを追記することで、元に戻せます。

Web開発ならdehaにご相談ください

ここまで見てきたように、Laravelバージョン8では、より開発がしやすいように多くの変更が加えられています。

2022年1月には、PHP8に対応したバージョン9がリリースされると言われていますし、今後もLaravelの改良は進んでいくでしょう。

dehaでは、5年間に渡りベトナムオフショア開発を行ってきました。ベトナムオフショアは、低コストで高品質なのが特徴です。

Web開発での実績も多数ありますので、Web開発案件で、エンジニアのリソースが足りないという場合は、ぜひdehaにご相談くださいませ。

見積もり・資料請求
見積書やオフショア開発の詳細資料を無料でお送りします
お問い合わせ

オフショア開発ガイド

オフショア開発のご相談や お見積りはこちらから

CONTACT

オフショア開発ガイド

オフショア開発のご相談や お見積りはこちらから

CONTACT