Các chức năng bị mất hiệu lực vẫn tồn tại và bạn nhận được cảnh báo. Vì vậy, họ làm việc như mong đợi. Tuy nhiên, trong một phiên bản tương lai, họ có thể biến mất.
Điều đó giống nhau cho các tính năng ngôn ngữ không dùng nữa mà đôi khi bạn nhận được thông báo. Đó là một cách để báo hiệu thay đổi cho người dùng có mã dựa trên phiên bản PHP cũ hơn.
Thông thường các tính năng không dùng nữa sẽ bị loại bỏ sau một thời gian, nhưng nó không thể dự đoán được bao lâu. Tôi biết ít nhất một trường hợp trong đó một tính năng không dùng nữa đã được không được ghi nhận sau này. Tuy nhiên, tôi nghĩ đó là đặc biệt.
Vì vậy, nếu bạn thấy những cảnh báo này, hãy cập nhật mã. Thông thường các tài liệu PHP có nhiều thông tin hơn tại sao một cái gì đó đã không được chấp nhận và phải làm gì. Thông thường đó là một cải tiến [ví dụ: trong bảo mật], vì vậy bạn thực sự nên xử lý các cảnh báo này nếu bạn quan tâm đến mã.
EDIT: Tôi nghĩ rằng nó rất đáng chú ý trong bối cảnh này để tìm kiếm các thông báo tiêu chuẩn nghiêm ngặt hướng dẫn sử dụng PHP. Chúng có liên quan đến phần nào vì những thông báo này cũng là những gợi ý hữu ích cho những thay đổi trong ngôn ngữ. I think it's noteworthy in this context to look for strict standards notices PHP Manual as well. They are somewhat related because these notices are useful hints for changes in the language as well.
Kích hoạt e_strict trong quá trình phát triển có một số lợi ích. Các tin nhắn nghiêm ngặt sẽ giúp bạn sử dụng phương pháp mã hóa mới nhất và lớn nhất, ví dụ như cảnh báo bạn về việc sử dụng các chức năng không dùng nữa.E_STRICT during development has some benefits. STRICT messages will help you to use the latest and greatest suggested method of coding, for example warn you about using deprecated functions.
[từ liên kết hướng dẫn sử dụng PHP ở trên]
Core PHP
Các nhà khai thác ternary lồng nhau mà không có dấu ngoặc đơn rõ ràng
Các hoạt động ternary lồng nhau phải sử dụng rõ ràng dấu ngoặc đơn để ra lệnh cho thứ tự của các hoạt động. Trước đây, khi được sử dụng mà không có dấu ngoặc đơn, tính liên kết trái sẽ không dẫn đến hành vi dự kiến trong hầu hết các trường hợp.
Không cần phải có dấu ngoặc đơn khi làm tổ vào toán hạng giữa, vì điều này luôn không rõ ràng và không bị ảnh hưởng bởi sự kết hợp:
Mảng và chuỗi truy cập bù bằng cách sử dụng niềng răng xoăn
Cú pháp truy cập phần bù của mảng và chuỗi bằng cách sử dụng niềng răng xoăn được không dùng nữa. Sử dụng $var[$idx]
thay vì $var{$idx}
.
[real] cast và is_real [] hàmis_real[] function
Diễn viên [real]
không được dùng để sử dụng [float]
thay thế.
Hàm is_real [] cũng không được dùng, sử dụng is_float [] thay thế.is_real[] function is also deprecated, use is_float[] instead.
Unbinding $this
khi $this
được sử dụng
Unbinding $this
của một đóng cửa không tĩnh sử dụng $this
không được chấp nhận.
parent
Từ khóa không có lớp phụ huynh
Sử dụng parent
bên trong một lớp không có cha mẹ không được chấp nhận và sẽ ném lỗi thời gian biên dịch trong tương lai. Hiện tại một lỗi sẽ chỉ được tạo nếu/khi cha mẹ được truy cập vào thời gian chạy.
cho phép_url_include tùy chọn ini
Chỉ thị cho allow_url_include Ini không được dùng. Cho phép nó sẽ tạo ra một thông báo phản đối khi khởi động.
Ký tự không hợp lệ trong các chức năng chuyển đổi cơ sở
Chuyển các ký tự không hợp lệ cho base_convert [], Bindec [], acdDec [] và hexdec [] giờ đây sẽ tạo ra thông báo không dùng nữa. Kết quả vẫn sẽ được tính toán như thể các ký tự không hợp lệ không tồn tại. Dẫn đầu và dấu vết trắng, cũng như tiền tố loại 0x [tùy thuộc vào cơ sở] tiếp tục được cho phép.base_convert[], bindec[], octdec[] and hexdec[] will now generate a deprecation notice. The result will still be computed as if the invalid characters did not exist. Leading and trailing whitespace, as well as prefixes of type 0x [depending on base] continue to be allowed.
hàm hebrevc [] function
Hàm Hebrevc [] không được dùng nữa. Nó có thể được thay thế bằng $var[$idx]
1 hoặc, tốt nhất là sử dụng hỗ trợ RTL Unicode.hebrevc[] function is deprecated. It can be replaced with $var[$idx]
1
or, preferably, the use of Unicode RTL support.
Cu xạ với thứ tự tham số lịch sử
Truyền các tham số để nổ [] theo thứ tự ngược được không dùng nữa, sử dụng $var[$idx]
2 thay vì $var[$idx]
3.implode[] in reverse order is deprecated, use $var[$idx]
2 instead of $var[$idx]
3.
Com
Nhập thư viện loại với đăng ký liên tục không phân biệt trường hợp đã được không dùng nữa.
Lọc
$var[$idx]
4 không dùng nữa, sử dụng $var[$idx]
5 thay thế. is deprecated, use $var[$idx]
5 instead.
Chuỗi Multibyte
Chuyển một mẫu không chuỗi cho mb_ereg_replace [] không được chấp nhận. Hiện tại, các mẫu không chuỗi được hiểu là các codepoint ASCII. Trong Php 8, mẫu sẽ được hiểu là một chuỗi thay thế.mb_ereg_replace[] is deprecated. Currently, non-string patterns are interpreted as ASCII codepoints. In PHP 8, the pattern will be interpreted as a string instead.
Chuyển mã hóa dưới dạng tham số thứ 3 cho mb_strrpos [] không được dùng nữa. Thay vào đó, chuyển một bù 0 và mã hóa dưới dạng tham số thứ 4.mb_strrpos[] is deprecated. Instead pass a 0 offset, and encoding as 4th parameter.
Sự phản xạ
Các cuộc gọi đến ReflectionType :: __ toString [] hiện tạo thông báo không dùng nữa. Phương pháp này đã được không phản đối ủng hộ ReflectionNamedType :: getName [] trong tài liệu kể từ Php 7.1, nhưng không đưa ra thông báo không phản đối vì lý do kỹ thuật.ReflectionType::__toString[] now generate a deprecation notice. This method has been deprecated in favor of ReflectionNamedType::getName[] in the documentation since PHP 7.1, but did not throw a deprecation notice for technical reasons.
Các phương pháp $var[$idx]
6 trên tất cả các lớp phản xạ được không phản đối. Thay vào đó, hãy xây dựng một đối tượng phản xạ và chuyển đổi nó thành chuỗi:Reflection classes are deprecated. Construct a Reflection object and convert it to string instead:
$var[$idx]
7
Ổ cắm
Các cờ $var[$idx]
8 và $var[$idx]
9 cho socket_addrinfo_lookup [] không được chấp nhận, do sự phản đối ngược dòng trong glibc.$var[$idx]
8 and $var[$idx]
9 flags for
socket_addrinfo_lookup[] are deprecated, due to an upstream deprecation in glibc.
Ahmad Asjad ¶ ¶
2 năm trước
$var{$idx}
0
TechLemur ¶ ¶
1 năm trước
$var{$idx}
1