[Laravel] 6.13.0がリリースされました

laravel/frameworkのバージョン6.13.0がリリースされました。追加された機能について確認します。

make:modelコマンドに--apiオプションが追加されました (#31197, #31222)

モデル作成時にAPI用のコントローラーが作成できるオプションです。

php artisan make:model Order --api

PendingResourceRegistration::shallow()メソッドが追加されました (#31208, @104c539)

resource()メソッドを使ったルーティングの記述が簡単になりました。

// Before
Route::resource('foo.bar', 'BarController')->only(['index', 'create', 'store']);
Route::resource('bar', 'BarController')->only(['show', 'edit', 'update', 'destroy']);

// After
Route::resource('foo.bar', 'BarController')->shallow();

クロージャーを使ったバリデーションメッセージのフォーマットが可能になりました (#31246)

バリデーションルールにネストした配列を使う場合、エラーメッセージのフォーマットできるようになりました。

$translator = new Translator(new ArrayLoader, 'en');
$translator->addLines(['validation.string' => ':attribute must be a string!'], 'en');
$validator = new Validator($translator, [['name' => 1]], ['*.name' => 'string']);

$validator->setImplicitAttributesFormatter(function ($attribute) {
    [$line, $attribute] = explode('.', $attribute);

    return sprintf('%s at line %d', $attribute, $line + 1);
});

$validator->passes();

$this->assertEquals('name at line 1 must be a string!', $validator->getMessageBag()->all()[0]);

Filesystem::ensureDirectoryExists()メソッドが追加されました (@8a8eed4)

指定したパスにディレクトリ が存在しない場合にディレクトリ を作成します。

FTPドライバーでStorage::url()が利用可能になりました (#31258, @b8790e5)


詳しい変更については以下を確認してください。

Release v6.13.0 · laravel/framework · GitHub

© Xzxzyzyz