Laravel

Laravel Jetstream 凄すぎ!?Laravel8 注目のアップデート内容

こんにちは、どんぶラッコです。

ついにLaravel8のリリース情報が解禁されたようです!

バージョン8のリリース日は 2020年9月8日ですね。

Laravel8 サポートポリシー
  • リリース … 2020年9月8日
  • バグ修正対応期限 … 2021年3月8日
  • セキュリティ修正対応 … 2021年9月8日

詳細については公式のリリースを見ていただきたいのですが、私が読んでいて「あ、ここは大きく変わるな」「便利だな」と思ったポイントをご紹介します!

Laravel Jetstream

https://github.com/laravel/jetstream

まずは、Laravel Jetstramというスキャフォールドが使えるようになる点です。

どんぶラッコ
どんぶラッコ
スキャフォールド(scaffold)は元々足場という意味です。アプリケーションの必要な機能の土台(=足場)を作ってくれるものと考えておけばOKですよ

今まで Laravel Auth UI があったじゃん…?と思った方。それよりも便利な機能がくっついているからすごいのです。

jetstreamのgithubページで Basic Jetstream Features として紹介されている機能を紹介します。

Profile Management

そもそもJetstreamでは名前やメールアドレスに加えて、プロフィール写真を登録することができるようになります。これは嬉しいですね!

そして、プロフィール変更ページも追加されたようです。

Security Features

セキュリティ関連の機能として

  • パスワードの変更
  • 二段階認証
  • ログインしたら他のブラウザセッションをログアウトする

が使えるようです。

もしパスワードのリセット, アップデートをしたい場合は

app/Actions/Fortify

を直接触れと言っています。

Email Verification

Eメール認証機能もついています。ここら辺は前もありましたね。

Account Deletion

アカウントの削除も機能実装されているようです。

App\Actions\Jetstream\DeleteUser

をいじるとカスタマイズ可能とのこと。


他にも、 SPAアプリケーション向けにAPI Tokenでユーザ情報が確認できるようになっていたり、teamというユーザグループの概念が使えるようです。

ここら辺は自分で触ってみて、レポートしたいですね!

Models Directory

app/Models ディレクトリが復活するようです。

php artisan make:Model [モデル名]

でモデルを生成したとき、 Models ディレクトリがあればそのまま Models ディレクトリに格納されるようです。なければ app ディレクトリ直下に作成されます。

これはありがたい!

Model Factory Classes

ファクトリーがクラス記法に変わっています。

namespace Database\Factories;

use App\Models\User;
use Illuminate\Database\Eloquent\Factories\Factory;
use Illuminate\Support\Str;

class UserFactory extends Factory
{
    protected $model = User::class;

    public function definition()
    {
        return [
            'name' => $this->faker->name,
            'email' => $this->faker->unique()->safeEmail,
            'email_verified_at' => now(),
            'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
            'remember_token' => Str::random(10),
        ];
    }
}

今までは

use App\User;
use Faker\Generator as Faker;
use Illuminate\Support\Str;

$factory->define(User::class, function (Faker $faker) {
    return [
        'name' => $faker->name,
        'email' => $faker->unique()->safeEmail,
        'email_verified_at' => now(),
        'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
        'remember_token' => Str::random(10),
    ];
});

でしたね。

ここら辺は”気をつけておこう”程度に気に留めておけばOKですね。

Artisan serve Improvements

これは地味に便利だと思います。今まで .env を書き換えた場合は ctrl+c でサーバを止めて再起動 … という手順を踏んでいましたが、サーバを止めずとも自動更新されるとのこと。


Tailwind CSS

こちらは公式ページのリリースでは項目化されていませんが、私が着目しているのがCSSフレームワークのベースが Tailwind CSS になっていることです。

どんぶラッコ
どんぶラッコ
今までは Bootstrap が中心だったよね!

先ほどご紹介した Laravel Jetstream も Tailwind ベースで記載されていますし、リリースノートによるとページネーションで実装される画面もデフォルトがTailwindに変更されています。

Bootstrap3, Bootstrap4 も使えるよー、とは書いてありますが、今後の主流ではなくなっていくのではないでしょうか。


ということで、結構いろいろな変更が盛り込まれたLaravel8。早速使ってみて記事化していこうと思います!

どんぶラッコ
どんぶラッコ
皆さんの気づきも是非教えてね!
ABOUT ME
どんぶラッコ
ECコンサルタント、システムエンジニアを経て、quintet株式会社CTOに就任。普段はNuxt.jsやLaravelを使用しています。

\面白いと思ったら/

記事のシェア & Twitter のフォロー をお願いします!

@proglearn
RELATED POST

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です