Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Jenis data baharu yang disokong dalam PHP8 boleh menjadikan kod anda lebih segar

Jenis data baharu yang disokong dalam PHP8 boleh menjadikan kod anda lebih segar

王林
王林asal
2023-06-21 11:20:371370semak imbas

Dengan keluaran PHP8, bahasa pengaturcaraan popular ini memperkenalkan jenis data baharu yang boleh memudahkan kod anda dan meningkatkan kebolehbacaannya. Dalam artikel ini, kami akan memperkenalkan empat jenis baharu dalam PHP8: jenis kesatuan, parameter bernama, sifat baca sahaja dan sifat boleh batal, dan menerangkan cara ia boleh membawa pengalaman pengaturcaraan yang lebih baik kepada pembangun.

  1. Jenis kesatuan

Jenis kesatuan ialah jenis baharu yang diperkenalkan dalam PHP8, yang membolehkan pembangun menyimpan pelbagai jenis nilai dalam satu pembolehubah. Sebagai contoh, pembolehubah boleh menyimpan kedua-dua jenis integer dan rentetan. Ini menjadikan kod lebih fleksibel dan boleh mengendalikan pelbagai jenis data tanpa memerlukan penukaran kod tambahan.

Sebagai contoh, katakan kita mempunyai fungsi yang perlu menukar rentetan atau tatasusunan ke dalam format JSON dan mengembalikan rentetan JSON itu. Pada masa lalu, anda perlu menggunakan pernyataan if/else untuk menyemak jenis parameter yang diluluskan, dan kemudian melaksanakan operasi yang sepadan. Tetapi dalam PHP8, kita boleh menyelesaikan masalah ini dengan mudah menggunakan jenis kesatuan:

function toJson(string|array $data): string
{
    return json_encode($data);
}

Dalam contoh ini, kita mentakrifkan pembolehubah $data sebagai jenis kesatuan, yang boleh menjadi rentetan atau tatasusunan. Ini bermakna tidak kira apa jenis data yang kami lalukan, fungsi itu akan menukarnya dengan betul kepada format JSON.

  1. Parameter bernama

PHP8 juga memperkenalkan konsep parameter bernama, yang menjadikan parameter fungsi lebih mudah difahami dan digunakan. Parameter yang dinamakan membenarkan pembangun untuk menentukan parameter mengikut nama apabila memanggil fungsi tanpa menghantar parameter mengikut susunan. Ciri ini boleh menjadikan kod lebih jelas dan mengurangkan kemungkinan kekeliruan.

Sebagai contoh, katakan kita mempunyai fungsi yang mencipta imej yang memerlukan lebar, ketinggian dan warna untuk ditentukan. Dalam PHP8, kita boleh mentakrifkan fungsi ini seperti berikut:

function createImage(int $width, int $height, ?string $color = null)
{
    // 创建图像的逻辑
}

Dalam contoh ini, kita mentakrifkan tiga parameter, iaitu $width, $height dan $color. Parameter $color adalah pilihan dan mempunyai nilai lalai nol. Selepas mentakrifkan parameter dengan cara ini, apabila memanggil fungsi, kita boleh menentukan nilai parameter mengikut nama dan bukannya menghantar parameter mengikut urutan:

createImage(width: 100, height: 100, color: 'red');

Ini menjadikan kod lebih mudah difahami dan mengurangkan kemungkinan kekeliruan.

  1. Atribut baca sahaja

PHP8 turut memperkenalkan konsep atribut baca sahaja, yang bermaksud apabila atribut diberikan nilai, ia tidak boleh diubah suai. Ini berguna untuk mencipta objek tidak berubah, yang boleh membantu pembangun menulis kod yang lebih selamat dan boleh dipercayai.

Sebagai contoh, kita boleh mentakrifkan harta baca sahaja sebagai:

class User
{
    public readonly string $name;

    public function __construct(string $name)
    {
        $this->name = $name;
    }
}

Dalam contoh ini, kita mentakrifkan harta baca sahaja $name, yang boleh diberikan apabila objek dicipta, tetapi kemudian Ia tidak boleh diubah suai lagi. Ini memastikan bahawa nama objek Pengguna yang dicipta tidak akan diubah suai pada masa jalan, dengan itu meningkatkan keselamatan dan kebolehpercayaan kod.

  1. Benarkan sifat nullable

Dalam PHP8, ia juga mungkin untuk mentakrifkan sifat sebagai nullable, yang membenarkan sifat lalai jika tidak diisytiharkan Nilainya adalah batal. Melakukannya menjadikan kod lebih mudah dan mengurangkan kemungkinan pembangun membuat ralat semasa menulis kod.

Sebagai contoh, kita boleh mentakrifkan sifat boleh batal sebagai:

class User
{
    public ?string $phone;

    public function __construct(?string $phone = null)
    {
        $this->phone = $phone;
    }
}

Dalam contoh ini, kita mentakrifkan harta $phone, yang boleh dibatalkan dan lalai jika tidak diisytiharkan Nilainya adalah batal. Melakukannya menentukan penciptaan dan penetapan objek sebagai parameter dan mengurangkan kemungkinan pembangun membuat ralat semasa menulis kod.

Ringkasan

Dalam PHP8, jenis data baharu menjadikan kod lebih ringkas, lebih fleksibel, lebih mudah difahami dan lebih mudah dibaca. Jenis kesatuan, parameter bernama, sifat baca sahaja dan sifat yang membenarkan kebolehbatalan semuanya boleh membantu pembangun menulis kod yang lebih bersih. Pada masa yang sama, ciri baharu ini juga meningkatkan daya saing PHP sebagai bahasa pengaturcaraan, menjadikannya lebih mudah bagi pembangun untuk menulis aplikasi yang kompleks.

Atas ialah kandungan terperinci Jenis data baharu yang disokong dalam PHP8 boleh menjadikan kod anda lebih segar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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