Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Menukar Objek stdClass kepada Kelas Tersuai dalam PHP?

Bagaimana untuk Menukar Objek stdClass kepada Kelas Tersuai dalam PHP?

Mary-Kate Olsen
Lepaskan: 2024-11-26 09:15:11
asal
1075 orang telah melayarinya

How to Convert stdClass Objects to Custom Classes in PHP?

Menukar Objek stdClass kepada Kelas Tersuai

Dalam senario di mana sistem storan pihak ketiga hanya mengembalikan objek stdClass, menghantarnya ke dalam penuh- objek baru kelas tertentu menjadi perlu. Walau bagaimanapun, PHP tidak menyediakan kaedah pemutus yang mudah untuk penukaran sedemikian.

Juga Jenis

Keupayaan juggling jenis PHP membenarkan penukaran tertentu, seperti:

  • (int) atau (integer) untuk integer
  • (bool) atau (boolean) untuk boolean
  • (float), (double), atau (nyata) untuk float
  • (rentetan) untuk rentetan
  • (tatasusunan) untuk tatasusunan
  • (objek) untuk objek
  • (tidak ditetapkan) untuk NULL (PHP 5)

Penukaran ini tidak ternilai untuk bekerja dengan objek stdClass, tetapi mereka tidak mencipta tika kelas tertentu.

Pemeta Tersuai

Untuk penukaran menyeluruh, a Kelas Mapper boleh dibuat untuk melakukan penghantaran dari stdClass ke kelas sasaran. Ini melibatkan penentuan kaedah yang menterjemahkan setiap sifat objek stdClass ke dalam sifat yang sepadan dalam kelas sasaran.

Penyelesaian Hackish (Dinasihatkan Berhati-hati)

Sebagai penyelesaian, kod berikut boleh disesuaikan dengan tatasusunan dan objek "pseudocast" kepada kejadian tertentu kelas:

function arrayToObject(array $array, $className) {
    return unserialize(sprintf(
        'O:%d:"%s"%s',
        strlen($className),
        $className,
        strstr(serialize($array), ':')
    ));
}

function objectToObject($instance, $className) {
    return unserialize(sprintf(
        'O:%d:"%s"%s',
        strlen($className),
        $className,
        strstr(strstr(serialize($instance), '"'), ':')
    ));
}
Salin selepas log masuk

Penyelesaian ini mengubah suai perwakilan bersiri data untuk mewakili kelas sasaran. Walau bagaimanapun, adalah disyorkan untuk menggunakan pendekatan ini dengan berhati-hati kerana kemungkinan kesan sampingan.

Atas ialah kandungan terperinci Bagaimana untuk Menukar Objek stdClass kepada Kelas Tersuai dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan