Laravel 9の新機能は?Laravel8.77からの機能リリース計画を解説!
thumb_laravel8.77
Laravel 9の新機能は?Laravel8.77からの機能リリース計画を解説!
アンドエンジニア編集部
2022.02.11
この記事でわかること
LaravelはPHPを用いたウェブアプリケーションフレームワークです
PHPのフレームワークで人気が高まっており、GitHubでの星の獲得数は最も多いです
Laravel 9がリリース済であり、今後の機能改良がLaravel 8.xから引き継がれていきます

Laravel 8.80の登場

img_laravel880_01

昨年末にLaravel 8.77がリリースされましたが、年明け早々に8.78・8.79・8.80と立て続けに製品リリースがされています。ここでは、リリースノートから読み取れる新機能をできる限りお伝えしていきます。同様に、延期されていたLaravel 9も2022年2月8日のリリースを目途に準備しています。こちらの実装予定についてもお伝えしていきます。

そもそもLaravelとは

Laravelとは、PHPを用いたウェブアプリケーションフレームワークのことです。blogやニュース・動画を通じて啓蒙活動を行っていることが特色となります。PHPのフレームワークはいくつかありますが、GitHubでの星の獲得数は最も多く人気があります。 【参考】:Laravel

ここで言うウェブアプリケーションフレームワークとは、ウェブを用いたアプリケーションのフレームワークを指します。フレームワークとは、ソフトウェア開発の効率を高めるためにあらかじめ標準的な利用方法を定義することです。フレームワークに必要な手順を標準化し、ライブラリとして提供します。

Laravelでは、ソフトウェア開発言語としてPHPを用いており、PHPをベースとして、アプリケーション開発に必要な共通フレームワークとソフトウェアコンポーネントを提供します。アプリケーション開発者は、最低限のコード開発でウェブアプリケーションの開発・構築が可能です。

PHPフレームワークLaravel入門!使い方や入門書も解説
LaravelとReactは相性抜群?導入手順やメリットを解説

PHPとは

PHPとは、サーバーサイドで動的ウェブページを作成する際に用いる言語です。動的なウェブページを生成するCGIを起源としているため、ウェブアプリケーション開発に最適な言語の1つです。従来はテンプレート的な用途に用いられていましたが、現在汎用スクリプト言語として利用拡大しています。 【参考】:php

PHPでできることを解説!機械学習やスマホアプリ開発はできる?
PHPの資格は?資格の種類や特徴を難易度とともに詳しく解説!

Laravelのサポートポリシー

Laravelはあらかじめ定義されたサポートポリシーに基づき、リリース・提供されます。具体的には、LTS(Long Term Support)版は、不具合修正が2年間・セキュリティ修正が3年間に設定されています。通常版は不具合修正が18カ月・セキュリティ修正が2年間とやや短くなります。

以下に、現行製品のLTS版と通常版を整理しておきます。 ・LTS版  Laravel 6(2019年9月3日公開)、不具合修正:2022年1月25日まで、セキュリティ修正:2022年9月6日まで  Laravel 9(2022年2月8日予定)、不具合修正:2024年2月8日まで、セキュリティ修正:2025年2月8日まで

通常版  Laravel 8(2020年9月8日公開)、不具合修正:2022年7月26日まで、セキュリティ修正:2023年1月24日まで  Laravel 10(2023年2月7日予定)、不具合修正:2024年8月7日まで、セキュリティ修正:2025年2月7日まで

Laravel 7は2020年3月3日公開でLaravel 6より後のリリースですが、通常版につきすでにサポートが終了しています。LTS版のLaravel 6についても不具合修正が2022年1月25日までで終了するため、Laravel 9の登場が待たれるところです。 【参考】:Laravel Support Policy

Laravelの新機能

img_laravel880_02

Laravelの新機能はリリースノートに記載され、記載されるバージョンはメジャーリリース単位です。Laravel 8.xでリリースされた代表的な機能は、リリースノートにまとめて記載されています。直近のバージョンアップに関しては以降で紹介します。 【参考】:Laravel Release Notes

Laravelの利用方法

Laravelを簡単に利用するには、Dockerを用いることがおすすめです。利用はプロジェクト単位で進め、Laravel Sailという軽量なコマンドラインインターフェースを用いて、Docker開発環境を利用します。導入にはComposerパッケージマネージャを用います。 【参考】:Laravel Installation

直接Laravelを利用する場合はPHPとComposerが導入された環境で、ComposerからLaravelプロジェクトを作成します。Laravelのアプリケーションは、ArtisanCLIのserveコマンドを用います。

あるいは、Composerのグローバル依存関係としてインストールします。

Laravelのデータベースサポート構成

他のウェブアプリケーションフレームワーク同様に、Laravelにおいてもサポートするデータベースが指定されています。 【参考】:Laravel Database: Getting Started

具体的には、MySQL 5.7以降・PostgreSQL 9.6以降・SQLite 3.8.8以降・SQL Server 2017以降がサポートされます。データベースのコマンドラインインターフェースに接続するには、ArtisanCLIのdbコマンドで接続できます。

MySQLとは?特徴から使い方・学習方法まで詳しく解説!
PostgreSQLとは?MySQL・Oracleとの違いを解説
SQLiteとは?特徴や使い方、メリット・デメリットを解説!
SQL Serverとは?基礎情報から構築までの手順を解説!

Laravel 8.77のリリース概要

まず最初に、2021年12月22日掲載のLaravelニュースから8.77リリースの要点をお伝えします。 【参考】:Laravel 8.77 Released

具体的なLaravel 8.77の主要変更点は以下の通りです。 ・AttributeのCast・Accessor改善  Accessors・MutatorsのAtrtribute定義において単一メソッドで動作が定義可能です。 ・DateTime ParsingのRequestインスタンスへの追加  date()メソッドがRequestインスタンスに追加され、日付取得が簡単にできます。 ・MACアドレスの検証ルール"mac_address"が、Validator()で提供されます。 ・テンポラリURLメソッドがストレージ向けに提供  getTemporaryUrl()のロジックを追加可能です。

Laravel 8.78のリリース概要

次に、2022年1月5日掲載のLaravelニュースから8.78リリースの要点をお伝えします。 【参考】:Laravel 8.78 Released

具体的なLaravel 8.78の主要変更点は以下の通りです。 ・追加のデフォルトパスワード検証ルールが定義可能  rules()で、デフォルトパスワードルールに追加実行できるカスタム検証ルールが定義できます。 ・欠損データの処理追加  HTTPリクエストの欠損データがある場合に、マージするメソッドmergeIfMissing()が提供されます。 ・バッチ数のAssertメソッド追加  バッチの実際のディスパッチ数が、assertBatchCount()でAssertされます。 ・HTMLのStringメソッド追加  HtmlString()の記述を、Strでシンプルにコーディングできます。

HTMLでできることは少ない?できないことやタグも一覧でまとめた

Laravel 8.79のリリース概要

続いて、2022年1月13日掲載のLaravelニュースから8.79リリースの要点をお伝えします。 【参考】:Laravel 8.79 Released

具体的なLaravel 8.79の主要変更点は以下の通りです。 ・onLastPage()メソッドのPaginator追加  最終ページのロジック記述が可能です。 ・可変個数引数のメソッドサポート  Callableを呼び出す際に可変個数を引数に使用できます。 ・MySQLとPostgreSQLでのフルテキストサーチサポート  whereFulltext()メソッドがサポートされます。 ・Stringableメソッドの追加  whenContains()とwhenContainsAll()が追加されました。

MySQL入門!世界で最も普及しているRDBMSを学んでみよう
PostgreSQL入門、複数のRDBMSを習得して更なる活躍を

Laravel 8.80のリリース概要

最後に、2022年1月19日掲載のLaravelニュースから8.80リリースの要点をお伝えします。 【参考】:Define a Route Group Controller in Laravel 8.80

具体的なLaravel 8.80の主要変更点は以下の通りです。 ・ルートグループコントローラの定義  グループが同じコントローラーを使用する際に、ルートグループのコントローラーを定義可能です。 ・BladeコンパイラでStringをレンダリング  Blade Templatingの文字列をレンダリングされた文字列に変換可能です。 ・PHPRedisのシリアライズと圧縮の構成サポート  シリアライズオプションは、NONE・PHP・JSON・IGBINARY・MSGPACK  圧縮オプションは、NONE・LZF・ZSTD・LZ4

JSONファイルとは?基本構造からファイルの読み書き方法まで解説

Laravel 9の新機能

Laravel 9はリリース計画がSymfony 6.0のリリースに合わせて延期され、2022年1月に変更されました。公式リリースノートによると、現在2月8日がリリース日として予定されています。 【参考】:A look at what is coming to Laravel 9 【参考】:Laravel Release Notes

Laravel 9ではLaravel 8.xから継続して改善を進めており、Symfony 6.0コンポーネント・Symfony Mailer・Flysystem 3.0・route:list出力のデザイン変更・Laravel Scoutデータベースドライバー・Eloquent Accessor / Mutator構文・Enumによる暗黙のルートバインディング等の実装を予定しています。

なおLaravel 9ではSymfony 6.0を用いるため、PHP 8が必須要件となります。Laravel 9以降のリリースは年次で行うことが決まっており、次期リリースのLaravel 10は2023年2月7日の予定です。

※Laravel 9は2022年2月8日にリリース済です。

開発言語に応じてフレームワークを選択しましょう

img_laravel880_03

2022年現在、ウェブアプリケーションフレームワークは、Laravel・Ruby on Rails・Djangoが3強と言われています。通常PHPを使う場合はLaravel、RubyではRuby on Rails、Pythonの場合はDjangoが用いられます。いずれもフルスタックのウェブアプリケーションフレームワークです。

PHPではこれまで多数のフレームワークがリリースされていましたが、この数年Laravelの利用が急上昇しています。データベースと親和性の高いPHPを用い最新のトレンドに対応するには、Laravelが最適なフレームワークと言えます

Ruby on Railsとは?特徴やできることを徹底解説!
Djangoとは何か?できることや習得するメリットを解説
気になる人のTwitterをフォローしよう!
アンドエンジニア公式LINEでは
新着記事やエンジニアに役立つ情報をお届け!
日々のキャッチアップをお手伝いします!
マイナビITエージェント

編集部オススメコンテンツ

残業ほとんどなしの求人
IT業界の『残業ほとんど無しの求人』をピックアップ!その他、こだわり条件での求人検索も◎
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

お問い合わせ・情報提供
エンジニア求人

編集部おすすめコンテンツ

残業ほとんどなしの求人
IT業界の『残業ほとんど無しの求人』をピックアップ!その他、こだわり条件での求人検索も◎
マイナビITエージェント
Sponsored

アンドエンジニアへの取材依頼、情報提供などはこちらから

Powered by マイナビ AGENT