Rumah > rangka kerja php > Laravel > Laravel 8.77 dikeluarkan, ciri-ciri ini telah dipertingkatkan!

Laravel 8.77 dikeluarkan, ciri-ciri ini telah dipertingkatkan!

藏色散人
Lepaskan: 2022-01-22 09:08:45
ke hadapan
2250 orang telah melayarinya

Berikut ialah pengenalan kepada "Laravel 8.77 dikeluarkan, fungsi ini telah dipertingkatkan" daripada lajur tutorial Laravel Saya harap ia akan membantu semua orang!

Pasukan Laravel mengeluarkan versi 8.77 dengan penambahbaikan pada penukaran/aksesor harta, meminta kaedah date() untuk mengakses data sebagai contoh DateTime, pengesahan alamat MAC, keupayaan untuk menentukan URL sementara tersuai pada cakera storan, dan Cawangan perubahan terkini dalam v8.x. [Disyorkan: "Tutorial Video Laravel"]

Penukaran atribut/peningkatan aksesor

Taylor Otwell menyediakan cara baharu untuk mentakrifkan pengakses dan pengubah atribut:

// 之前, 两个方法的方式
public function setTitleAttribute($value)
{
    $this->attributes['title'] = strtolower($value);
}
 // 新的方式
protected function title(): Attribute
{
    return new Attribute(
        set: fn ($value) => strtolower($value),
    );
}
Salin selepas log masuk

Berikut ialah contoh dengan pelaksanaan get dan set:

/**
 * 获取用户的标题
 */
protected function title(): Attribute
{
    return new Attribute(
        get: fn ($value) => strtoupper($value),
        set: fn ($value) => strtolower($value),
    );
}
Salin selepas log masuk

Untuk mendapatkan maklumat lanjut, sila lihat permintaan tarik tentang ciri ini serta perihalan ciri dan perbincangan ini.

Penghuraian masa tarikh telah ditambahkan pada contoh permintaan

@Italo menyediakan kaedah date() untuk contoh permintaan, menjadikannya sangat mudah untuk mendapatkan contoh tarikh daripada data permintaan:

// 以前
if ($date = $request->input('when')) {
    $date = Carbon::parse($datetime);
}
// 之后
$date = $request->date('when');
Salin selepas log masuk

Awalan setiap sambungan

Ben Tidy membantu menggunakan awalan pada asas setiap sambungan dalam Predi. Berikut ialah contoh permintaan tarik untuk konfigurasi 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:'),
    ],
],
Salin selepas log masuk

Peraturan pengesahan alamat MAC

Bilal Al-Massry menyumbangkan mac_address peraturan pengesahan untuk mengesahkan alamat MAC:

$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());
Salin selepas log masuk

Mentakrifkan Kaedah URL Sementara Storan

Ash Allen menyumbang keupayaan untuk mentakrifkan logik URL sementara tersuai untuk fasad Storan. Berikut ialah beberapa contoh permintaan tarik:

Storage::disk('local')
    ->buildTemporaryUrlUsing(function ($path, $expiration, $options) {
      return 'using local';
    });
 // $url is: 'using local'
$url = Storage::temporaryUrl('file.jpg', now()->addMinutes(5));
Salin selepas log masuk

Nota Keluaran

Anda boleh melihat senarai penuh ciri baharu dan kemas kini di bawah pada github dengan perbezaan 8.76.0 dan 8.77.0 antara. Nota keluaran berikut diambil terus daripada log perubahan:

v8.77.0

Ditambah

  • Penukaran hartanah/peningkatan akses (#40022)
  • Ditambahkan Illuminate/View/Factory::renderUnless() (#40077)
  • Tambahkan penghuraian masa tarikh pada Permintaan contoh (#39945)
  • Dayakan setiap sambungan menggunakan awalan pada Predis (#40083)
  • Ditambah peraturan untuk mengesahkan alamat MAC (#40098)
  • Keupayaan tambahan untuk menentukan URL sementara untuk storan (#40100)

Tetap

  • Betulkan ralat memori yang mungkin berlaku apabila memadamkan nilai daripada cache dengan merujuk kekunci dalam pemacu Redis (#40039)
  • Baharu Illuminate/Filesystem/FilesystemManager::setApplication() (#40058)
  • Ditetapkan dalam penghantaran Parameter kaedah doesntContain() (739d847)
  • Terjemah mesej peraturan Enum (#40089)
  • Betulkan pengesahan tentang tarikh (#40088)
  • dalam PruneCommand.php Model tidak dibenarkan digunakan dengan kecuali (f62fe66)

Diubah

  • Gunakan fungsi khusus untuk perintah explain pangkalan data melalui kaedah EloquentQuery::explain kepada QueryBuilder:explain (# 40075)

Alamat asal: https://laravel-news.com/laravel-8-77-0

Alamat terjemahan: https:// learnku.com /laravel/t/64602

Atas ialah kandungan terperinci Laravel 8.77 dikeluarkan, ciri-ciri ini telah dipertingkatkan!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:learnku.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan