Hướng dẫn what does php deprecated mean? - php bị phản đối nghĩa là gì?

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.

5;   // deprecated
(3) ? 5// ok
: (5); // ok
?>

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

Làm cách nào để khắc phục lỗi không dùng nữa trong PHP?

error_Reporting (e_all ^ (e_notice | e_warning | e_deprecated));Điều này sẽ ngừng hiển thị thông báo, cảnh báo và lỗi không dùng nữa.Lưu câu trả lời này.

Làm cách nào để thoát khỏi lỗi không dùng nữa?

Làm thế nào để tôi vô hiệu hóa các cảnh báo không dùng nữa PHP ?..
Đăng nhập vào whm ..
Truy cập whm »home» Phần mềm »Multiphp Ini Editor ..
Nhấp vào tab Chế độ Trình chỉnh sửa ..
Chọn phiên bản PHP từ thả xuống ..
Tìm phần "Error_Reporting" và thêm dòng sau: Error_Reporting = e_all & ~ e_notice & ~ e_deprecated ..
Lưu thay đổi..

Điều gì xảy ra khi một chức năng bị phản đối?

Không dùng nữa có nghĩa là "không sử dụng nó".Một chức năng không dùng nữa có thể hoặc không hoạt động, nhưng nó không được đảm bảo hoạt động.may or may not work, but it is not guaranteed to work.

Tại sao mã bị phản đối?

Một phần của quá trình phát triển phần mềm khi mã mới được viết và mã di sản được cập nhật, một số phần sẽ trở nên lỗi thời và sẽ cần phải loại bỏ dòng.Thông thường, mã không dùng nữa xảy ra khi mã đã được thay thế bằng một phương thức thay thế hoặc lớp, và hầu như luôn luôn xảy ra trong một thư viện được chia sẻ.when code has been replaced with an alternative method or class—and it almost always occurs in a shared library.