Operator Terlebih Muatan dalam PHP: ArrayObject to the Rescue
Walaupun PHP secara asalnya tidak menyokong lebihan muatan operator, terdapat penyelesaian untuk mencapai fungsi yang serupa. Satu pendekatan sedemikian untuk melebihkan operator [] dalam konteks mencipta kelas Array ialah memanfaatkan kelas SPL ArrayObject dalam PHP5 dan versi yang lebih baru.
ArrayObject dan Operator Overloading
ArrayObject menyediakan asas untuk mencipta kelas seperti tatasusunan tersuai. Dengan memanjangkan ArrayObject, anda boleh mencipta tatasusunan "palsu" dengan gelagat lebih muatan pengendali yang dikehendaki. Pertimbangkan contoh berikut:
<code class="php"><?php class CustomArray extends ArrayObject { public function offsetSet($i, $v) { echo 'appending ' . $v . "\n"; parent::offsetSet($i, $v); } } $a = new CustomArray; $a[] = 1; // Output: appending 1</code>
Dalam contoh ini, CustomArray memanjangkan ArrayObject dan mengatasi kaedah OffsetSet untuk melaksanakan operasi yang diingini sebelum menambah elemen pada tatasusunan. Akibatnya, apabila menggunakan operator [] untuk menetapkan nilai, ia mencetuskan gelagat tersuai.
Atas ialah kandungan terperinci Bagaimanakah saya boleh mensimulasikan pembebanan operator dalam PHP untuk tatasusunan menggunakan ArrayObject?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!