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?

TuanWhite
sumber
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.

Dmitry Rekun
sumber
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