Documents menggunakan penetapan berdasarkan referensi (= &) tetapi apakah ini perlu dengan PHP 5?


12

Saya perhatikan dalam dokumentasi Joomla, seperti untuk JFactory / getSession , bahwa contohnya menggunakan assign-by-reference ( =&), daripada penugasan sederhana ( =).

$session =& JFactory::getSession();

Apakah ini baru saja kedaluwarsa, atau dengan sengaja mencakup pengguna PHP 4?

Apakah ini perlu di bawah PHP 5? Atau adakah sesuatu yang terkait dengan Joomla yang saya abaikan?


Pertanyaan bagus! Saya sering bertanya-tanya apakah saya harus menggunakan simbol equals dan ampersand atau hanya simbol equals.
TryHarder

Beberapa dokumen tidak diperbarui. Ketika Anda menemukan sesuatu, cukup tekan tombol edit, itu adalah wiki.
Valentin Despa

Jawaban:


9

Ini digunakan untuk PHP4 kali. Dari PHP5 dan seterusnya objek ditugaskan oleh referensi, sehingga tidak perlu melakukan itu secara eksplisit.


1
di php 5 itu menyebabkan banyak peringatan standar ketat untuk memilikinya juga, dan ada banyak di inti Joomla, kadang-kadang menyebabkan waktu yang menyenangkan ketika Anda bertukar dengan pelaporan kesalahan pengembangan. Salah satu perubahan di PHP yang membuat kompatibilitas sulit.
Jordan Ramstad

Joomla 1.5 jelek karena ditulis untuk mendukung PHP 4.3. Dengan 2.5 dan 3.x, jumlah E_STRICTkesalahan dalam inti minimal jika ada.
Michael

1
Terima kasih, saya berasumsi pasti hangover PHP4, tetapi dengan Joomla 1.6+ yang membutuhkan PHP5 + saya mulai bertanya-tanya. Titik kecil, tetapi objek sebenarnya tidak "ditugaskan oleh referensi" di PHP5. Operator assign-by-reference tidak reqd (dalam kebanyakan kasus) karena instance kelas disimpan secara berbeda di PHP5. (Kelas instance memegang "pengidentifikasi objek" daripada nilai itu sendiri, seperti dalam PHP4.) "Pengidentifikasi objek" ditugaskan dalam PHP5, daripada nilai objek. Hasil bersihnya serupa, tetapi ada perbedaan.
MrWhite
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.