cari

Rumah  >  Soal Jawab  >  teks badan

Parameter pilihan $yyy mendahului parameter yang diperlukan $xxx

rreeee

Sejak menaik taraf kepada PHP 8.0, ralat ini dilemparkan apabila menjalankan kod berikut:

Deprecated: Required parameter $xxx follows optional parameter $yyy in...

Ini berfungsi tanpa masalah dalam versi PHP yang lalu.

P粉236743689P粉236743689447 hari yang lalu717

membalas semua(2)saya akan balas

  • P粉021553460

    P粉0215534602023-10-19 10:29:39

    Parameter yang diperlukan tanpa nilai lalai harus didahulukan.

    function test_function(int $xxx, int $yyy = 2)
    {
        return $xxx * $yyy;
    }

    balas
    0
  • P粉427877676

    P粉4278776762023-10-19 00:33:30

    Cara pengisytiharan fungsiini telah ditamatkan dalam PHP 8.0. Tidak masuk akal untuk menulis fungsi seperti ini kerana semua hujah (sehingga yang terakhir, yang diperlukan) perlu dinyatakan semasa memanggil fungsi tersebut. Ia juga menggunakan kelas Menyebabkan kekeliruan ::getNumberOfRequiredParameters" rel="noreferrer">ReflectionFunctionAbstract untuk menghuraikan fungsi dan kaedah.

    Pemberhentian baharu hanya memastikan bahawa tandatangan fungsi mengikut andaian akal bahawa parameter yang diperlukan yang mesti ada hendaklah sentiasa diisytiharkan sebelum parameter pilihan.

    Fungsi ini harus ditulis semula untuk mengalih keluar nilai lalai untuk parameter terdahulu. Oleh kerana fungsi itu tidak boleh dipanggil tanpa mengisytiharkan semua hujah, ini sepatutnya tidak mempunyai kesan ke atas fungsinya.

    function test_function(int $var1, int $var2) {
        return $var1 / $var2;
    }
    

    balas
    0
  • Batalbalas