Php có thể tuần tự hóa
PHP hỗ trợ các hàm 9 và 0 được sử dụng để chuyển đổi các đối tượng lớp, mảng và dữ liệu vô hướng khác sang dạng chuỗi được tuần tự hóa và tạo lại chúng từ chuỗi được tuần tự hóaCác lớp PHP có thể cung cấp các triển khai tuần tự hóa của riêng chúng. Ví dụ: một lớp có thể loại trừ dữ liệu nhạy cảm nhất định khỏi việc thêm vào chuỗi được tuần tự hóa hoặc một lớp có thể thiết lập lại kết nối đến máy chủ từ xa từ URL máy chủ được lấy từ văn bản được tuần tự hóa Có ba cách tiếp cận để cung cấp logic tuần tự hóa tùy chỉnh cho các lớp PHP
Triển khai các phương pháp 1 và 2 là cách được khuyến nghị, vì nó tránh được một số cạm bẫy với cách tiếp cận 1/ 2 và giao diện 3Trong PHP8. 1, việc triển khai giao diện 3 mà không triển khai các phương thức 1 và 2 không được chấp nhận
Trở lại năm 2019, người ta đã đề xuất thêm hai phương pháp ma thuật mới là 1 và 2 vì cả hai phương pháp tiếp cận giao diện 2 + 1 và 3 đều không lý tưởng do tính phức tạp khi triển khai và hành vi có lỗi của chúngSự phản đối này trong PHP 8. 1 là phần tiếp theo của thay đổi đó, để ngừng triển khai giao diện 3 mà không có các phương thức ma thuật mới và cuối cùng là xóa giao diện 3 trong PHP 9. 0Nếu một lớp triển khai cả phương thức giao diện 3 và phương thức ma thuật, thì phương thức ma thuật sẽ được ưu tiên và thông báo không dùng nữa sẽ không được phát raTrong PHP7. 4 trở lên, các phương thức 1 và 2 được thực thi trong các cuộc gọi 32/ 0, không phải các phương thức 9/ 0 từ giao diện 3. Sẽ không có thông báo phản đối trong PHP 8. 1 hoặc
Thay đổi liên quan
Tác động tương thích ngượcLưu ý rằng thông báo phản đối không được phát ra nếu lớp cũng thực hiện các phương thức 1 và 2Nếu một lớp triển khai cả phương thức giao diện 3 và phương thức ma thuật, thì phương thức ma thuật sẽ được ưu tiênTrên các ứng dụng có PHP 7. 4 là phiên bản tối thiểu, có thể bỏ triển khai giao diện 3 và triển khai các phương thức 1 và 2 mới một cách an toànTrên các ứng dụng phải hỗ trợ các phiên bản PHP cũ hơn PHP 7. 4, triển khai cả giao diện 3 (sẽ được sử dụng trên PHP |