Dengan keluaran PHP 8.0, banyak ciri baharu telah dibawakan. Salah satunya ialah pengenalan perpustakaan bersiri JVM, ciri yang direka untuk meningkatkan prestasi. Dalam artikel ini, kami akan meneroka perpustakaan bersiri JVM dalam PHP8.0 secara terperinci.
Apakah siri JVM?
Sebelum kita mulakan, mari kita fahami dahulu apa itu siri JVM. Ringkasnya, ia adalah mekanisme yang menukarkan objek Java kepada aliran bait dan menyimpannya pada cakera atau menghantarnya melalui rangkaian. Proses ini menukar keadaan objek kepada urutan bait yang bersebelahan. Dalam Java, anda boleh menggunakan ObjectOutputStream untuk mensirikan objek menjadi bait, dan kemudian menggunakan ObjectInputStream untuk menyahsiri bait ke dalam objek asal. Ini menjadikan program Java lebih fleksibel kerana keadaan objek boleh merangkumi proses dan komputer yang berbeza.
Peranan perpustakaan bersiri JVM dalam PHP
Dalam PHP 8.0, perpustakaan bersiri JVM telah diperkenalkan. Tujuan perpustakaan ini adalah untuk mensirikan objek PHP ke dalam aliran bait yang serasi dengan Java. Strim bait ini boleh digunakan oleh aplikasi Java, dan ia boleh dinyahsiri menjadi objek PHP mentah seperti pensirian objek Java. Tujuan utama ciri ini adalah untuk memudahkan pembangun PHP menggunakan kebolehoperasian antara PHP dan Java.
Mekanisme bersiri PHP
Dalam PHP, objek boleh disiri menjadi rentetan menggunakan fungsi serialize() dan dinyahsiri semula menjadi objek menggunakan fungsi unserialize(). Kaedah bersiri ini mempunyai beberapa batasan, seperti format bersiri PHP hanya boleh digunakan dalam PHP, ia tidak boleh digunakan oleh bahasa lain. Batasan lain ialah penyirian PHP tidak menyokong rujukan bulat, yang bermaksud bahawa penyirian akan gagal apabila objek merujuk kepada dirinya sendiri.
Mekanisme siri JVM dalam PHP8.0
Pengenalan mekanisme siri JVM menyelesaikan batasan siri PHP. Siri JVM berbeza daripada siri PHP kerana ia membenarkan objek PHP disirikan ke dalam aliran bait yang serasi dengan Java. Siri JVM juga boleh mengendalikan rujukan pekeliling, dan ia juga boleh beroperasi dengan mekanisme siri dalam Java.
Menggunakan perpustakaan bersiri JVM PHP
Jika anda ingin menggunakan pustaka bersiri JVM dalam PHP 8.0, maka anda perlu mengambil langkah berikut.
Langkah pertama ialah memasang Java Bridge. Jambatan Java ialah perisian yang membolehkan PHP dan Java saling beroperasi. Anda boleh memuat turun dan memasang sambungan Java Bridge dari repositori PECL.
Selepas pemasangan selesai, anda perlu memuatkan sambungan Java Bridge dalam kod PHP anda. Anda boleh menggunakan kod berikut untuk mencapai ini:
extension('java');
Selepas itu, anda perlu mensirikan objek PHP menggunakan kelas ObjectOutputStream daripada perpustakaan kelas yang disediakan oleh Java. Setelah bersiri, anda boleh menyahsirikannya kembali ke objek PHP menggunakan kelas ObjectInputStream daripada perpustakaan kelas yang disediakan oleh Java. Berikut ialah contoh kod:
<?php $person = new stdClass(); $person->name = 'John Doe'; $person->age = 30; $data = java("java.io.ByteArrayOutputStream"); $stream = java("java.io.ObjectOutputStream",$data); $stream->writeObject($person); $bytes = (string)$data->toByteArray(); $objectInputStream = java("java.io.ObjectInputStream", new java("java.io.ByteArrayInputStream", $bytes)); $person2 = $objectInputStream->readObject(); print_r($person2); ?>
Kod sampel ini mensirikan objek PHP $person dan kemudian menyahsirikannya menggunakan ObjectInputStream dalam Java. Akhirnya, objek PHP yang dinyahsiri $person2 dikeluarkan melalui print_r().
Ringkasan
Siri JVM ialah ciri terbaik yang membolehkan pembangun PHP memanipulasi data antara PHP dan Java dengan lebih mudah. Pustaka bersiri JVM dalam PHP8.0 ialah pelaksanaan yang baik yang membolehkan objek PHP disirikan ke dalam strim bait yang serasi Java dan dengan mudah memindahkan dan memproses data antara Java dan PHP. Walaupun ciri ini memerlukan penggunaan jambatan Java dan perpustakaan kelas yang disediakan oleh Java, ia membawa kemudahan dan fleksibiliti kepada kerja pembangun PHP.
Atas ialah kandungan terperinci Pustaka bersiri JVM dalam PHP8.0. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!