ホームページ > PHPフレームワーク > Laravel > Laravel 8.77 がリリースされ、これらの機能が改善されました。

Laravel 8.77 がリリースされ、これらの機能が改善されました。

藏色散人
リリース: 2022-01-22 09:08:45
転載
2248 人が閲覧しました

Laravelの次のチュートリアルコラムでは「Laravel 8.77がリリースされ、こんな機能が改善されました」をご紹介しますので、皆様のお役に立てれば幸いです。

Laravel チームは、プロパティ変換/アクセサーを改善し、DateTime インスタンスとしてデータにアクセスするための date() メソッドのリクエスト、MAC アドレス検証、ストレージ ディスク上のカスタム一時 URL を定義する機能を備えたバージョン 8.77 をリリースしました。 v8.x の最新の変更ブランチ。 [推奨: "

laravel ビデオ チュートリアル "]

属性変換/アクセサーの改善

Taylor Otwell は、属性アクセサーと修飾子を定義する新しい方法を提供します:

// 之前, 两个方法的方式
public function setTitleAttribute($value)
{
    $this->attributes['title'] = strtolower($value);
}
 // 新的方式
protected function title(): Attribute
{
    return new Attribute(
        set: fn ($value) => strtolower($value),
    );
}
ログイン後にコピー
get と set の両方を実装する例を次に示します:

/**
 * 获取用户的标题
 */
protected function title(): Attribute
{
    return new Attribute(
        get: fn ($value) => strtoupper($value),
        set: fn ($value) => strtolower($value),
    );
}
ログイン後にコピー
詳細については、この機能に関するプル リクエストと、この機能の説明とディスカッションを参照してください。

日時解析がリクエスト インスタンスに追加されました

@Italo はリクエスト インスタンスに

date() メソッドを提供し、日付インスタンスの取得を非常に簡単にします。リクエストデータから 利便性:

// 以前
if ($date = $request->input('when')) {
    $date = Carbon::parse($datetime);
}
// 之后
$date = $request->date('when');
ログイン後にコピー
接続ごとのプレフィックス

Ben Tidy は、Predi で接続ごとにプレフィックスを使用するのに役立ちます。以下は、Redis 構成のプル リクエストの例です:

'redis' => [
    'client' => env('REDIS_CLIENT', 'predis'),
     'default' => [
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => env('REDIS_DB', 0),
        'prefix' => env('REDIS_PREFIX', 'prefix:'),
    ],
     'cache' => [
        'host' => env('REDIS_HOST', '127.0.0.1'),
        'password' => env('REDIS_PASSWORD', null),
        'port' => env('REDIS_PORT', 6379),
        'database' => env('REDIS_CACHE_DB', 1),
        'prefix' => env('REDIS_PREFIX', 'prefix2:'),
    ],
],
ログイン後にコピー
MAC アドレス検証ルール

Bilal Al-Massry は、MAC アドレスを検証するための

mac_address 検証ルールを提供しました。 :

$trans = $this->getIlluminateArrayTranslator();
$v = new Validator($trans, ['mac' => 'foo'], ['mac' => 'mac_address']);
$this->assertFalse($v->passes());
 $trans = $this->getIlluminateArrayTranslator();
$v = new Validator($trans, ['mac' => '01-23-45-67-89-ab'], ['mac' => 'mac_address']);
$this->assertTrue($v->passes());
 $trans = $this->getIlluminateArrayTranslator();
$v = new Validator($trans, ['mac' => '01-23-45-67-89-AB'], ['mac' => 'mac_address']);
$this->assertTrue($v->passes());
ログイン後にコピー
ストレージ一時 URL メソッドの定義

Ash Allen は、ストレージ ファサードのカスタム一時 URL ロジックを定義する機能に貢献しました。プル リクエストの例をいくつか示します。

Storage::disk('local')
    ->buildTemporaryUrlUsing(function ($path, $expiration, $options) {
      return 'using local';
    });
 // $url is: 'using local'
$url = Storage::temporaryUrl('file.jpg', now()->addMinutes(5));
ログイン後にコピー
リリース ノート

新機能と更新の完全なリストは、以下の github で確認できます。また、8.76.0 と 8.77.0 の違いも参照できます。次のリリース ノートは、変更ログから直接抜粋したものです:

v8.77.0

New

    プロパティ変換/アクセサーの改善 (#40022)
  • 追加
  • Illuminate/View/Factory::renderUnless() (#40077)
  • 日時解析をリクエスト インスタンスに追加 (#39945)
  • 各接続を作成するPredis でプレフィックスを使用できるようになりました (#40083)
  • MAC アドレスを検証するルールを追加しました (#40098)
  • ストレージ用の一時 URL を定義する機能を追加しました (#40100)
修正済み

    Redisドライバーのキーを参照してキャッシュから値を削除するときに発生する可能性のあるメモリ不足エラーを修正しました (#40039)
  • 新規
  • Illuminate/Filesystem/FilesystemManager::setApplication() (#40058)
  • doesntContain() メソッドで渡すパラメータを修正 (739d847)
  • 列挙型ルール メッセージの翻訳 (#40089)
  • 日付の検証を修正 (#40088)
  • PruneCommand.php 以外でのモデルの使用を許可しません (f62fe66)
Changed

    Eloquent\Query::explain メソッド経由で Query\Builder:explain のデータベース Explain コマンド固有の機能を使用する (#40075)

元のアドレス: https ://laravel-news.com/laravel-8-77-0

翻訳アドレス: https://learnku.com/laravel/t/64602

以上がLaravel 8.77 がリリースされ、これらの機能が改善されました。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:learnku.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート