Tài liệu sử dụng gán bởi tham chiếu (= &) nhưng điều này có cần thiết với PHP 5 không?


12

Tôi đã nhận thấy trong tài liệu Joomla, chẳng hạn như đối với JFactory / getSession , rằng các ví dụ sử dụng gán-by- Reference ( =&), thay vì chỉ định đơn giản ( =).

$session =& JFactory::getSession();

Đây có phải là lỗi thời hay cố tình bao phủ người dùng PHP 4 không?

Điều này có cần thiết trong PHP 5 không? Hoặc có điều gì đó liên quan đến Joomla mà tôi đã bỏ qua?


Câu hỏi tuyệt vời! Tôi thường tự hỏi liệu tôi có nên sử dụng biểu tượng bằng và ký hiệu hay chỉ là biểu tượng bằng.
TryHarder

Một số tài liệu không được cập nhật. Khi bạn phát hiện ra thứ gì đó, chỉ cần nhấn nút chỉnh sửa, đó là wiki.
Valentin Despa

Câu trả lời:


9

Điều này đã được sử dụng cho PHP4 lần. Từ PHP5 trở đi các đối tượng được gán bởi tham chiếu, do đó không cần phải làm điều đó một cách rõ ràng.


1
trong php 5, nó cũng gây ra nhiều cảnh báo tiêu chuẩn nghiêm ngặt và có rất nhiều trong lõi Joomla, đôi khi gây ra thời gian vui vẻ khi bạn chuyển sang báo cáo lỗi phát triển. Một trong những thay đổi khác trong PHP làm cho khả năng tương thích ngược trở nên khó khăn.
Jordan Ramstad

Thật tệ trong Joomla 1.5 vì nó được viết để hỗ trợ PHP 4.3 trở lên. Với 2,5 và 3.x, số lượng E_STRICTlỗi trong lõi là tối thiểu nếu có.
Michael

1
Cảm ơn, tôi đã giả định rằng nó phải là một hangover PHP4, nhưng với Joomla 1.6+ yêu cầu PHP5 + tôi đã bắt đầu tự hỏi. Điểm nhỏ, nhưng các đối tượng không thực sự "được gán bởi tham chiếu" trong PHP5. Toán tử gán tham chiếu không phải là reqd (trong hầu hết các trường hợp) vì các thể hiện của lớp được lưu trữ khác nhau trong PHP5. (Các thể hiện của lớp giữ một "định danh đối tượng" chứ không phải chính giá trị, như trong PHP4.) Một "định danh đối tượng" được gán trong PHP5, thay vì giá trị đối tượng. Kết quả ròng là tương tự, nhưng có sự khác biệt.
MrWhite
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.