Cara menggunakan aliran php pilih

Selain itu, harap ganti

public function sole($key = null, $operator = null, $value = null);

0 dengan

public function sole($key = null, $operator = null, $value = null);

1 dan

public function sole($key = null, $operator = null, $value = null);

2 (jika berlaku) dengan

public function sole($key = null, $operator = null, $value = null);

3 dalam file

public function ignore(string $class);

5 aplikasi Anda

Selain itu, paket pihak pertama berikut telah menerima rilis besar baru untuk mendukung Laravel 9. x. Jika berlaku, Anda harus membaca panduan pemutakhiran masing-masing sebelum memutakhirkan

Terakhir, periksa paket pihak ketiga lainnya yang digunakan oleh aplikasi Anda dan verifikasi bahwa Anda menggunakan versi yang tepat untuk dukungan Laravel 9

Jenis Pengembalian PHP

PHP mulai transisi untuk membutuhkan definisi tipe pengembalian pada metode PHP seperti

public function sole($key = null, $operator = null, $value = null);

5,

public function sole($key = null, $operator = null, $value = null);

6, dll. Mengingat hal ini, Laravel 9 telah mengimplementasikan tipe pengembalian ini dalam basis kodenya. Biasanya, ini tidak akan memengaruhi kode yang ditulis pengguna;

  • public function sole($key = null, $operator = null, $value = null);

    _7
  • public function sole($key = null, $operator = null, $value = null);

    _8
  • public function sole($key = null, $operator = null, $value = null);

    _9
  • public function giveConfig($key, $default = null);

    _0
  • public function giveConfig($key, $default = null);

    _1
  • public function giveConfig($key, $default = null);

    _2
  • public function giveConfig($key, $default = null);

    _3
  • public function giveConfig($key, $default = null);

    _4

Selain itu, tipe pengembalian ditambahkan ke metode yang menerapkan

public function giveConfig($key, $default = null);

5 PHP. Sekali lagi, kecil kemungkinannya perubahan ini memengaruhi aplikasi atau kode paket Anda sendiri

  • public function giveConfig($key, $default = null);

    _6
  • public function giveConfig($key, $default = null);

    _7
  • public function giveConfig($key, $default = null);

    _8
  • public function giveConfig($key, $default = null);

    _9
  • * Prepare the given value for storage.

    * @param \Illuminate\Database\Eloquent\Model $model

    * @param AddressModel $value

    public function set($model, $key, $value, $attributes)

    if (! $value instanceof AddressModel) {

    throw new InvalidArgumentException('The given value is not an Address instance.');

    'address_line_one' => $value->lineOne,

    'address_line_two' => $value->lineTwo,

    0
  • * Prepare the given value for storage.

    * @param \Illuminate\Database\Eloquent\Model $model

    * @param AddressModel $value

    public function set($model, $key, $value, $attributes)

    if (! $value instanceof AddressModel) {

    throw new InvalidArgumentException('The given value is not an Address instance.');

    'address_line_one' => $value->lineOne,

    'address_line_two' => $value->lineTwo,

    1

Aplikasi

Kontrak

* Prepare the given value for storage.

* @param \Illuminate\Database\Eloquent\Model $model

* @param AddressModel $value

public function set($model, $key, $value, $attributes)

if (! $value instanceof AddressModel) {

throw new InvalidArgumentException('The given value is not an Address instance.');

'address_line_one' => $value->lineOne,

'address_line_two' => $value->lineTwo,

_2

Kemungkinan Dampak. Rendah

Metode

* Prepare the given value for storage.

* @param \Illuminate\Database\Eloquent\Model $model

* @param AddressModel $value

public function set($model, $key, $value, $attributes)

if (! $value instanceof AddressModel) {

throw new InvalidArgumentException('The given value is not an Address instance.');

'address_line_one' => $value->lineOne,

'address_line_two' => $value->lineTwo,

_3 dari antarmuka

* Prepare the given value for storage.

* @param \Illuminate\Database\Eloquent\Model $model

* @param AddressModel $value

public function set($model, $key, $value, $attributes)

if (! $value instanceof AddressModel) {

throw new InvalidArgumentException('The given value is not an Address instance.');

'address_line_one' => $value->lineOne,

'address_line_two' => $value->lineTwo,

4 telah diperbarui untuk menerima argumen

* Prepare the given value for storage.

* @param \Illuminate\Database\Eloquent\Model $model

* @param AddressModel $value

public function set($model, $key, $value, $attributes)

if (! $value instanceof AddressModel) {

throw new InvalidArgumentException('The given value is not an Address instance.');

'address_line_one' => $value->lineOne,

'address_line_two' => $value->lineTwo,

5. Jika Anda mengimplementasikan antarmuka ini, Anda harus memperbarui implementasi Anda sesuai dengan itu

public function storagePath($path = '');

Demikian pula, metode

* Prepare the given value for storage.

* @param \Illuminate\Database\Eloquent\Model $model

* @param AddressModel $value

public function set($model, $key, $value, $attributes)

if (! $value instanceof AddressModel) {

throw new InvalidArgumentException('The given value is not an Address instance.');

'address_line_one' => $value->lineOne,

'address_line_two' => $value->lineTwo,

_6 dari kelas

* Prepare the given value for storage.

* @param \Illuminate\Database\Eloquent\Model $model

* @param AddressModel $value

public function set($model, $key, $value, $attributes)

if (! $value instanceof AddressModel) {

throw new InvalidArgumentException('The given value is not an Address instance.');

'address_line_one' => $value->lineOne,

'address_line_two' => $value->lineTwo,

7 telah diperbarui untuk menerima argumen

* Prepare the given value for storage.

* @param \Illuminate\Database\Eloquent\Model $model

* @param AddressModel $value

public function set($model, $key, $value, $attributes)

if (! $value instanceof AddressModel) {

throw new InvalidArgumentException('The given value is not an Address instance.');

'address_line_one' => $value->lineOne,

'address_line_two' => $value->lineTwo,

5

public function langPath($path = '');

Pengendali Pengecualian

* Prepare the given value for storage.

* @param \Illuminate\Database\Eloquent\Model $model

* @param AddressModel $value

public function set($model, $key, $value, $attributes)

if (! $value instanceof AddressModel) {

throw new InvalidArgumentException('The given value is not an Address instance.');

'address_line_one' => $value->lineOne,

'address_line_two' => $value->lineTwo,

_9 Metode

Kemungkinan Dampak. Rendah

Metode

* Prepare the given value for storage.

* @param \Illuminate\Database\Eloquent\Model $model

* @param AddressModel $value

public function set($model, $key, $value, $attributes)

if (! $value instanceof AddressModel) {

throw new InvalidArgumentException('The given value is not an Address instance.');

'address_line_one' => $value->lineOne,

'address_line_two' => $value->lineTwo,

9 penangan pengecualian sekarang adalah

$user->roles()->updateOrCreate([

1 alih-alih

$user->roles()->updateOrCreate([

2. Metode ini tidak termasuk dalam kerangka aplikasi default;

public function ignore(string $class);

_

Pengikatan Kontrak Penangan Pengecualian

Kemungkinan Dampak. Sangat rendah

Sebelumnya, untuk mengganti penangan pengecualian Laravel default, implementasi khusus terikat ke dalam wadah layanan menggunakan tipe

$user->roles()->updateOrCreate([

4. Namun, Anda sekarang harus mengikat implementasi khusus menggunakan tipe

$user->roles()->updateOrCreate([

5

Pedang

Koleksi Malas & Variabel

$user->roles()->updateOrCreate([

6

Kemungkinan Dampak. Rendah

Saat melakukan iterasi pada instance

$user->roles()->updateOrCreate([

7 dalam template Blade, variabel

$user->roles()->updateOrCreate([

6 tidak lagi tersedia, karena mengakses variabel ini menyebabkan seluruh

$user->roles()->updateOrCreate([

7 dimuat ke dalam memori, sehingga menjadikan penggunaan lazy collection tidak berguna dalam skenario ini

Arahan Blade yang Dicentang / Dinonaktifkan / Dipilih

Kemungkinan Dampak. Rendah

Direktif

$user->roles()->firstOrCreate([

0,

$user->roles()->firstOrCreate([

1, dan

$user->roles()->firstOrCreate([

2 Blade baru mungkin bertentangan dengan event Vue dengan nama yang sama. Anda dapat menggunakan

$user->roles()->firstOrCreate([

3 untuk menghindari arahan dan menghindari konflik ini.

$user->roles()->firstOrCreate([

4

Koleksi

Kontrak

$user->roles()->firstOrCreate([

5

Kemungkinan Dampak. Rendah

Kontrak

$user->roles()->firstOrCreate([

_6 sekarang mendefinisikan metode

$user->roles()->firstOrCreate([

7. Jika Anda mengimplementasikan antarmuka ini secara manual, Anda harus memperbarui implementasi Anda untuk mencerminkan metode baru ini

public function sole($key = null, $operator = null, $value = null);

Metode ________43______8

Metode

$user->roles()->firstOrCreate([

_8 telah dihapus karena metode

public function touch($attribute = null);

0 menyediakan fungsionalitas yang sama. Anda cukup memperbarui kode Anda untuk memanggil

public function touch($attribute = null);

0 alih-alih

$user->roles()->firstOrCreate([

8

Metode

public function touch($attribute = null);

_3

Metode

public function touch($attribute = null);

_3 telah diubah namanya menjadi

public function touch($attribute = null);

5 untuk konsistensi penamaan dengan metode serupa lainnya

Wadah

Kontrak

public function touch($attribute = null);

6

Kemungkinan Dampak. Sangat rendah

Kontrak

public function touch($attribute = null);

_7 telah menerima dua definisi metode.

public function touch($attribute = null);

8 dan

public function touch($attribute = null);

9. Jika Anda menerapkan kontrak ini secara manual, Anda harus memperbarui penerapan Anda untuk mencerminkan metode baru ini

Kontrak

* Get the registered name of the component.

protected static function getFacadeAccessor()

0

Kemungkinan Dampak. Sangat rendah

Kontrak

* Get the registered name of the component.

protected static function getFacadeAccessor()

_1 sekarang mendefinisikan metode

* Get the registered name of the component.

protected static function getFacadeAccessor()

2. Jika Anda mengimplementasikan antarmuka ini secara manual, Anda harus memperbarui implementasi Anda untuk mencerminkan metode baru ini

public function giveConfig($key, $default = null);

Basis data

Konfigurasi "Skema" Postgres

Kemungkinan Dampak. Medium

Opsi konfigurasi

* Get the registered name of the component.

protected static function getFacadeAccessor()

_3 yang digunakan untuk mengonfigurasi jalur pencarian koneksi Postgres di file konfigurasi

* Get the registered name of the component.

protected static function getFacadeAccessor()

4 aplikasi Anda harus diganti namanya menjadi

* Get the registered name of the component.

protected static function getFacadeAccessor()

5

Pembuat Skema

* Get the registered name of the component.

protected static function getFacadeAccessor()

_6 Metode

Kemungkinan Dampak. Rendah

Metode

* Get the registered name of the component.

protected static function getFacadeAccessor()

6 telah dihapus dari kelas

* Get the registered name of the component.

protected static function getFacadeAccessor()

8. Anda dapat menggunakan metode

* Get the registered name of the component.

protected static function getFacadeAccessor()

9 pada fasad

public function langPath($path = '');

00 sebagai gantinya, atau mendaftarkan jenis Doktrin khusus dalam file konfigurasi

* Get the registered name of the component.

protected static function getFacadeAccessor()

4

Fasih

Pemeran Khusus &

public function langPath($path = '');

_02

Kemungkinan Dampak. Medium

Dalam rilis Laravel sebelumnya, metode

public function langPath($path = '');

03 kelas cast kustom tidak dipanggil jika atribut cast disetel ke

public function langPath($path = '');

02. Namun, perilaku ini tidak sesuai dengan dokumentasi Laravel. Di Laravel 9. x, metode

public function langPath($path = '');

03 dari kelas pemeran akan dipanggil dengan

public function langPath($path = '');

02 sebagai argumen

public function langPath($path = '');

07 yang disediakan. Oleh karena itu, Anda harus memastikan pemain kustom Anda mampu menangani skenario ini secara memadai

* Prepare the given value for storage.

* @param \Illuminate\Database\Eloquent\Model $model

* @param AddressModel $value

public function set($model, $key, $value, $attributes)

if (! $value instanceof AddressModel) {

throw new InvalidArgumentException('The given value is not an Address instance.');

'address_line_one' => $value->lineOne,

'address_line_two' => $value->lineTwo,

Milik Banyak

public function langPath($path = '');

08,

public function langPath($path = '');

09, dan

public function langPath($path = '');

10 Metode

Kemungkinan Dampak. Medium

Metode

public function langPath($path = '');

_11 hubungan

public function langPath($path = '');

08,

public function langPath($path = '');

09, dan

public function langPath($path = '');

10 semua menerima array atribut sebagai argumen pertama mereka. Dalam rilis Laravel sebelumnya, susunan atribut ini dibandingkan dengan tabel "pivot" / perantara untuk catatan yang ada

Namun, perilaku ini tidak terduga dan biasanya tidak diinginkan. Sebagai gantinya, metode ini sekarang membandingkan larik atribut dengan tabel model terkait

$user->roles()->updateOrCreate([

Selain itu, metode

public function langPath($path = '');

_09 sekarang menerima array

public function langPath($path = '');

16 sebagai argumen kedua. Larik ini akan digabungkan dengan argumen pertama ke metode (

public function langPath($path = '');

17) saat membuat model terkait jika belum ada. Perubahan ini membuat metode ini konsisten dengan metode

public function langPath($path = '');

_09 yang ditawarkan oleh tipe hubungan lainnya

$user->roles()->firstOrCreate([

Metode

public function langPath($path = '');

_19

Kemungkinan Dampak. Rendah

Metode

public function langPath($path = '');

_19 sekarang menerima atribut untuk disentuh. Jika sebelumnya Anda menimpa metode ini, Anda harus memperbarui tanda tangan metode Anda untuk mencerminkan argumen baru ini

public function touch($attribute = null);

Enkripsi

Kontrak Enkripsi

Kemungkinan Dampak. Rendah

Kontrak

public function langPath($path = '');

_21 sekarang mendefinisikan metode

public function langPath($path = '');

22. Jika Anda mengimplementasikan antarmuka ini secara manual, Anda harus memperbarui implementasi Anda sesuai dengan itu

Fasad

Metode

public function langPath($path = '');

_23

Kemungkinan Dampak. Rendah

Metode

public function langPath($path = '');

_23 harus selalu mengembalikan kunci penjilidan wadah. Dalam rilis Laravel sebelumnya, metode ini dapat mengembalikan instance objek; . Jika Anda telah menulis fasad Anda sendiri, Anda harus memastikan bahwa metode ini mengembalikan string pengikat kontainer

* Get the registered name of the component.

protected static function getFacadeAccessor()

Berkas sistem

Variabel Lingkungan ________30______25

Kemungkinan Dampak. Rendah

Variabel lingkungan

public function langPath($path = '');

_25 telah diganti namanya menjadi

public function langPath($path = '');

27 agar mencerminkan penggunaannya secara lebih akurat. Perubahan ini hanya memengaruhi kerangka aplikasi;

Disk "Awan".

Kemungkinan Dampak. Rendah

Opsi konfigurasi disk

public function langPath($path = '');

_28 telah dihapus dari kerangka aplikasi default pada November 2020. Perubahan ini hanya memengaruhi kerangka aplikasi. Jika Anda menggunakan disk

public function langPath($path = '');

28 dalam aplikasi Anda, Anda harus membiarkan nilai konfigurasi ini dalam kerangka aplikasi Anda sendiri

Sistem terbang 3. x

Kemungkinan Dampak. Tinggi

Laravel 9. x telah bermigrasi dari Flysystem 1. x ke 3. x. Di bawah tenda, Flysystem memberdayakan semua metode manipulasi file yang disediakan oleh fasad

public function langPath($path = '');

30. Mengingat hal ini, beberapa perubahan mungkin diperlukan dalam aplikasi Anda;

Prasyarat Pengemudi

Sebelum menggunakan driver S3, FTP, atau SFTP, Anda perlu menginstal paket yang sesuai melalui pengelola paket Composer

  • Amazon Q3.

    public function langPath($path = '');

    _31
  • FTP.

    public function langPath($path = '');

    _32
  • SFTP.

    public function langPath($path = '');

    _33

Menimpa File yang Ada

Tulis operasi seperti

public function langPath($path = '');

34,

public function langPath($path = '');

35, dan

public function langPath($path = '');

36 sekarang menimpa file yang ada secara default. Jika Anda tidak ingin menimpa file yang sudah ada, Anda harus memeriksa keberadaan file secara manual sebelum melakukan operasi tulis

Tulis Pengecualian

Operasi tulis seperti

public function langPath($path = '');

34,

public function langPath($path = '');

35, dan

public function langPath($path = '');

36 tidak lagi melontarkan pengecualian saat operasi tulis gagal. Sebagai gantinya,

public function langPath($path = '');

_40 dikembalikan. Jika Anda ingin mempertahankan perilaku sebelumnya yang melontarkan pengecualian, Anda dapat menentukan opsi

public function langPath($path = '');

41 dalam larik konfigurasi disk sistem file

Membaca File yang Hilang

Mencoba membaca dari file yang tidak ada sekarang mengembalikan

public function langPath($path = '');

02. Dalam rilis Laravel sebelumnya,

public function langPath($path = '');

43 akan dilempar

Menghapus File yang Hilang

Mencoba

public function langPath($path = '');

_44 file yang tidak ada sekarang mengembalikan

public function langPath($path = '');

45

Adaptor Tembolok

Flysystem tidak lagi mendukung "cache adapters". Dengan demikian, mereka telah dihapus dari Laravel dan setiap konfigurasi yang relevan (seperti kunci

public function langPath($path = '');

46 dalam konfigurasi disk) dapat dihapus

Sistem File Kustom

Sedikit perubahan telah dilakukan pada langkah-langkah yang diperlukan untuk mendaftarkan driver sistem file kustom. Oleh karena itu, jika Anda mendefinisikan driver sistem file kustom Anda sendiri, atau menggunakan paket yang menentukan driver kustom, Anda harus memperbarui kode dan dependensi Anda

Misalnya, di Laravel 8. x, driver sistem file khusus mungkin didaftarkan seperti itu

public function langPath($path = '');

0

Namun, di Laravel 9. x, panggilan balik yang diberikan ke metode

public function langPath($path = '');

_47 harus mengembalikan instance

public function langPath($path = '');

48 secara langsung

public function langPath($path = '');

1

Pembantu

public function langPath($path = '');

_49 Helper & Iterable Objects

Kemungkinan Dampak. Sangat rendah

Sebelumnya, helper

public function langPath($path = '');

49 dapat digunakan untuk mengambil data bersarang pada array dan

public function langPath($path = '');

51 instance;

public function langPath($path = '');

_52 Pembantu

Kemungkinan Dampak. Sangat rendah

Laravel 9. x sekarang termasuk

public function langPath($path = '');

52 global. Jika Anda mendefinisikan pembantu

public function langPath($path = '');

_52 global dalam aplikasi Anda, Anda harus mengganti nama atau menghapusnya sehingga tidak bertentangan dengan pembantu

public function langPath($path = '');

52 Laravel sendiri

public function langPath($path = '');

_56 /

public function langPath($path = '');

57 Metode

Kemungkinan Dampak. Medium

Seperti yang Anda ketahui, metode

public function langPath($path = '');

56 dan

public function langPath($path = '');

57 ditawarkan oleh berbagai kelas di seluruh kerangka kerja. Metode-metode ini dapat digunakan untuk melakukan tindakan secara kondisional jika nilai boolean dari argumen pertama ke metode bernilai

public function langPath($path = '');

45 atau

public function langPath($path = '');

40

public function langPath($path = '');

2

Oleh karena itu, dalam rilis Laravel sebelumnya, meneruskan penutupan ke metode

public function langPath($path = '');

56 atau

public function langPath($path = '');

57 berarti bahwa operasi bersyarat akan selalu dijalankan, karena perbandingan longgar terhadap objek penutupan (atau objek lainnya) selalu bernilai

public function langPath($path = '');

45. Hal ini sering menyebabkan hasil yang tidak terduga karena developer mengharapkan hasil penutupan digunakan sebagai nilai boolean yang menentukan apakah tindakan bersyarat dijalankan

Jadi, di Laravel 9. x, setiap penutupan yang diteruskan ke metode

public function langPath($path = '');

56 atau

public function langPath($path = '');

57 akan dieksekusi dan nilai yang dikembalikan oleh penutupan akan dianggap sebagai nilai boolean yang digunakan oleh metode

public function langPath($path = '');

56 dan

public function langPath($path = '');

57

public function langPath($path = '');

3

Klien HTTP

Batas Waktu Default

Kemungkinan Dampak. Medium

Klien HTTP sekarang memiliki batas waktu default 30 detik. Dengan kata lain, jika server tidak merespons dalam 30 detik, pengecualian akan dilemparkan. Sebelumnya, tidak ada panjang waktu tunggu default yang dikonfigurasi pada klien HTTP, menyebabkan permintaan terkadang "macet" tanpa batas

Jika Anda ingin menentukan waktu tunggu yang lebih lama untuk permintaan tertentu, Anda dapat melakukannya dengan menggunakan metode

public function langPath($path = '');

69

public function langPath($path = '');

4

HTTP & Middleware palsu

Kemungkinan Dampak. Rendah

Sebelumnya, Laravel tidak akan menjalankan middleware HTTP Guzzle yang disediakan saat klien HTTP "dipalsukan". Namun, di Laravel 9. x, Guzzle HTTP middleware akan dijalankan bahkan ketika klien HTTP dipalsukan

HTTP Palsu & Injeksi Ketergantungan

Kemungkinan Dampak. Rendah

Dalam rilis Laravel sebelumnya, memanggil metode

public function langPath($path = '');

70 tidak akan memengaruhi instance dari

public function langPath($path = '');

71 yang disuntikkan ke konstruktor kelas. Namun, di Laravel 9. x,

public function langPath($path = '');

_70 akan memastikan respons palsu dikembalikan oleh klien HTTP yang disuntikkan ke layanan lain melalui injeksi ketergantungan. Perilaku ini lebih konsisten dengan perilaku fasad dan pemalsuan lainnya

Mailer simfoni

Kemungkinan Dampak. Tinggi

Salah satu perubahan terbesar di Laravel 9. x adalah transisi dari SwiftMailer, yang tidak lagi dipertahankan per Desember 2021, ke Symfony Mailer. Namun, kami telah mencoba membuat transisi ini semulus mungkin untuk aplikasi Anda. Oleh karena itu, harap tinjau secara menyeluruh daftar perubahan di bawah untuk memastikan aplikasi Anda sepenuhnya kompatibel

Prasyarat Pengemudi

Untuk terus menggunakan transportasi Mailgun, aplikasi Anda harus memerlukan paket Komposer ________30______73 dan

public function langPath($path = '');

74

public function langPath($path = '');

5

Paket

public function langPath($path = '');

_75 Composer harus dihapus dari aplikasi Anda. Sebagai gantinya, aplikasi Anda harus memerlukan paket

public function langPath($path = '');

_76 dan

public function langPath($path = '');

74 Composer

public function langPath($path = '');

6

Jenis Pengembalian yang Diperbarui

Metode

public function langPath($path = '');

_78,

public function langPath($path = '');

79,

public function langPath($path = '');

80, dan

public function langPath($path = '');

81 pada

public function langPath($path = '');

82 tidak lagi mengembalikan

public function langPath($path = '');

83. Sebaliknya, instance

public function langPath($path = '');

_84 dikembalikan. Objek ini berisi turunan

public function langPath($path = '');

_85 yang dapat diakses melalui metode ________30______86 atau dengan memanggil metode secara dinamis pada objek

Berganti nama menjadi Metode "Swift".

Berbagai metode terkait SwiftMailer, beberapa di antaranya tidak berdokumen, telah diganti namanya menjadi mitra Symfony Mailer mereka. Misalnya, metode

public function langPath($path = '');

_87 telah diganti namanya menjadi

public function langPath($path = '');

88

public function langPath($path = '');

7

Peringatan
Tinjau secara menyeluruh untuk semua kemungkinan interaksi dengan objek ________30______89

Daftar di bawah ini berisi ikhtisar yang lebih menyeluruh tentang metode yang diubah namanya. Banyak dari metode ini adalah metode tingkat rendah yang digunakan untuk berinteraksi dengan SwiftMailer / Symfony Mailer secara langsung, jadi mungkin tidak umum digunakan di sebagian besar aplikasi Laravel

public function langPath($path = '');

8

Proksi

public function langPath($path = '');

_90 Metode

public function langPath($path = '');

_90 biasanya memproksikan metode yang hilang ke instance

public function langPath($path = '');

92 yang mendasarinya. Namun, metode yang hilang sekarang diproksikan ke instance ________30______89 sebagai gantinya. Jadi, kode apa pun yang sebelumnya mengandalkan metode yang hilang untuk diproksi ke SwiftMailer harus diperbarui ke mitra Symfony Mailer yang sesuai

Sekali lagi, banyak aplikasi mungkin tidak berinteraksi dengan metode ini, karena tidak didokumentasikan dalam dokumentasi Laravel

public function langPath($path = '');

_9

ID pesan yang dihasilkan

SwiftMailer menawarkan kemampuan untuk menentukan domain khusus untuk disertakan dalam ID Pesan yang dihasilkan melalui opsi konfigurasi

public function langPath($path = '');

94. Ini tidak didukung oleh Symfony Mailer. Sebagai gantinya, Symfony Mailer akan secara otomatis membuat ID Pesan berdasarkan pengirim

public function langPath($path = '');

95 Perubahan Acara

Properti

public function langPath($path = '');

_96 dari peristiwa

public function langPath($path = '');

97 sekarang berisi turunan

public function langPath($path = '');

89 alih-alih turunan

public function langPath($path = '');

92. Pesan ini mewakili email sebelum dikirim

Selain itu, properti

public function ignore(string $class);

_00 baru telah ditambahkan ke acara

public function langPath($path = '');

95. Properti ini berisi contoh

public function langPath($path = '');

_84 dan berisi informasi tentang email yang dikirim, seperti ID pesan

Sambungan Paksa

Tidak mungkin lagi memaksa rekoneksi transport (misalnya saat mailer berjalan melalui proses daemon). Sebagai gantinya, Symfony Mailer akan mencoba menyambung kembali ke transport secara otomatis dan melontarkan pengecualian jika penyambungan kembali gagal

Opsi Aliran SMTP

Menentukan opsi aliran untuk transpor SMTP tidak lagi didukung. Sebagai gantinya, Anda harus menentukan opsi yang relevan secara langsung di dalam konfigurasi jika didukung. Misalnya, untuk menonaktifkan verifikasi peer TLS

Untuk mempelajari lebih lanjut tentang opsi konfigurasi yang tersedia, tinjau

Peringatan
Terlepas dari contoh di atas, Anda umumnya tidak disarankan untuk menonaktifkan verifikasi SSL karena hal ini dapat menimbulkan kemungkinan serangan "man-in-the-middle"

SMTP

public function ignore(string $class);

_03

Menentukan SMTP

public function ignore(string $class);

03 dalam file konfigurasi

public function ignore(string $class);

05 tidak lagi diperlukan. Mode autentikasi akan dinegosiasikan secara otomatis antara Symfony Mailer dan server SMTP

Penerima Gagal

Tidak mungkin lagi mengambil daftar penerima yang gagal setelah mengirim pesan. Sebagai gantinya, pengecualian

public function ignore(string $class);

_06 akan dilemparkan jika pesan gagal terkirim. Alih-alih mengandalkan pengambilan alamat email yang tidak valid setelah mengirim pesan, sebaiknya Anda memvalidasi alamat email sebelum mengirim pesan

Paket

Direktori

public function ignore(string $class);

_07

Kemungkinan Dampak. Medium

Dalam aplikasi Laravel baru, direktori

public function ignore(string $class);

_08 sekarang berada di direktori proyek root (

public function ignore(string $class);

07). Jika paket Anda menerbitkan file bahasa ke direktori ini, Anda harus memastikan bahwa paket Anda menerbitkan ke

public function ignore(string $class);

10 alih-alih jalur hard-coded

Antre

Perpustakaan

public function ignore(string $class);

_11

Kemungkinan Dampak. Rendah

Ketergantungan Laravel pada

public function ignore(string $class);

_11 telah digantikan oleh

public function ignore(string $class);

13. Ini seharusnya tidak menyebabkan perubahan yang dapat menyebabkan gangguan pada aplikasi Anda kecuali jika Anda berinteraksi dengan pustaka

public function ignore(string $class);

11 secara langsung. Selain itu, kelas

public function ignore(string $class);

15 dan

public function ignore(string $class);

16 yang sebelumnya tidak digunakan lagi telah dihapus. Jika Anda berinteraksi dengan pustaka

public function ignore(string $class);

_11 secara langsung atau menggunakan salah satu kelas yang dihapus, Anda dapat menggunakan Laravel Serializable Closure sebagai gantinya

Penyedia Pekerjaan yang Gagal

public function ignore(string $class);

18 Metode

Kemungkinan Dampak. Rendah

Metode

public function ignore(string $class);

18 yang didefinisikan oleh antarmuka

public function ignore(string $class);

20 sekarang menerima argumen

public function ignore(string $class);

21 yang menentukan berapa umur pekerjaan yang gagal harus (dalam jam) sebelum dihapus oleh perintah

public function ignore(string $class);

22. Jika Anda menerapkan

public function ignore(string $class);

_23 secara manual, Anda harus memastikan bahwa implementasi Anda diperbarui untuk mencerminkan argumen baru ini

public function ignore(string $class);

_0

Sidang

Metode

public function ignore(string $class);

24

Kemungkinan Dampak. Rendah

Kelas

public function ignore(string $class);

25 yang diperluas oleh kelas

public function ignore(string $class);

26 milik Laravel menawarkan metode

public function ignore(string $class);

24 untuk mendapatkan penangan penyimpanan sesi saat ini. Metode ini tidak didokumentasikan oleh Laravel karena sebagian besar aplikasi Laravel berinteraksi dengan sesi melalui metode

public function ignore(string $class);

28 Laravel sendiri

Metode

public function ignore(string $class);

24 sebelumnya mengembalikan instance

public function ignore(string $class);

30 atau

public function langPath($path = '');

02; . x rilis yang memberlakukan tipe pengembalian

public function ignore(string $class);

32,

public function ignore(string $class);

_24 sekarang mengembalikan implementasi

public function ignore(string $class);

34 dengan benar atau melempar pengecualian

public function ignore(string $class);

35 ketika tidak ada sesi yang tersedia

Pengujian

Metode

public function ignore(string $class);

36

Kemungkinan Dampak. Medium

Semua panggilan ke metode

public function ignore(string $class);

36 harus diperbarui ke

public function ignore(string $class);

38

Proksi Tepercaya

Kemungkinan Dampak. Rendah

Jika Anda memutakhirkan proyek Laravel 8 ke Laravel 9 dengan mengimpor kode aplikasi yang ada ke kerangka aplikasi Laravel 9 yang benar-benar baru, Anda mungkin perlu memperbarui middleware "trusted proxy" aplikasi Anda

Dalam file

public function ignore(string $class);

_39 Anda, perbarui

public function ignore(string $class);

40 ke

public function ignore(string $class);

41

Selanjutnya, dalam

public function ignore(string $class);

_39, Anda harus memperbarui definisi properti

public function ignore(string $class);

43

public function ignore(string $class);

_1

Terakhir, Anda dapat menghapus ketergantungan

public function ignore(string $class);

_44 Composer dari aplikasi Anda

public function ignore(string $class);

_2

Validasi

Formulir Permintaan

public function ignore(string $class);

_45 Metode

Kemungkinan Dampak. Rendah

Metode

public function ignore(string $class);

45 yang ditawarkan oleh permintaan formulir sekarang menerima

public function ignore(string $class);

47 dan

public function ignore(string $class);

48 argumen. Jika Anda menimpa definisi metode ini secara manual, Anda harus memperbarui tanda tangan metode Anda untuk mencerminkan argumen baru ini

public function ignore(string $class);

_3

Aturan

public function ignore(string $class);

49

Kemungkinan Dampak. Medium

Aturan

public function ignore(string $class);

49, yang memvalidasi bahwa nilai input yang diberikan cocok dengan kata sandi pengguna yang diautentikasi, telah diubah namanya menjadi

public function ignore(string $class);

51

Kunci Larik Tidak Divalidasi

Kemungkinan Dampak. Medium

Dalam rilis Laravel sebelumnya, Anda diminta untuk menginstruksikan validator Laravel secara manual untuk mengecualikan kunci array yang tidak divalidasi dari data "divalidasi" yang dikembalikannya, terutama dalam kombinasi dengan aturan

public function ignore(string $class);

52 yang tidak menentukan daftar kunci yang diizinkan

Namun, di Laravel 9. x, kunci larik yang tidak divalidasi selalu dikecualikan dari data "divalidasi" meskipun tidak ada kunci yang diizinkan yang ditentukan melalui aturan

public function ignore(string $class);

52. Biasanya, perilaku ini adalah perilaku yang paling diharapkan dan metode

public function ignore(string $class);

54 sebelumnya hanya ditambahkan ke Laravel 8. x sebagai tindakan sementara untuk mempertahankan kompatibilitas mundur

Meskipun tidak disarankan, Anda dapat memilih Laravel 8 sebelumnya. x perilaku dengan memanggil metode

public function ignore(string $class);

55 baru dalam metode

public function ignore(string $class);

56 dari salah satu penyedia layanan aplikasi Anda

public function ignore(string $class);

_4

Aneka ragam

Kami juga mendorong Anda untuk melihat perubahan di

public function ignore(string $class);

57 repositori GitHub. Meskipun banyak dari perubahan ini tidak diperlukan, Anda mungkin ingin tetap menyinkronkan file ini dengan aplikasi Anda. Beberapa dari perubahan ini akan dicakup dalam panduan pemutakhiran ini, tetapi yang lainnya, seperti perubahan pada file konfigurasi atau komentar, tidak akan dibahas. Anda dapat dengan mudah melihat perubahan dengan alat perbandingan GitHub dan memilih pembaruan mana yang penting bagi Anda