Php 8.1 nhiều loại

Lỗi là lỗi hoặc kết quả không mong muốn. Cải thiện hiệu suất, tối ưu hóa mã và được coi là cải tiến, không phải lỗi. Sau khi đóng băng tính năng, chỉ các lỗi mới được xử lý, trong đó ưu tiên cao nhất là hồi quy (các thay đổi bất lợi so với phiên bản trước). ?
  • Bạn muốn đóng góp? . Có nhiều thông tin khác trên trang báo cáo của chúng tôi, chẳng hạn như các bản vá cần thử nghiệm và trên trang dự án tính năng của chúng tôi
  • câu hỏi khác?
  • Liên lạc

    Chúng tôi sử dụng Slack để liên lạc theo thời gian thực. Những người đóng góp sống ở khắp nơi trên thế giới, vì vậy có những cuộc thảo luận diễn ra vào tất cả các giờ trong ngày

    Các cuộc họp phát triển cốt lõi của chúng tôi diễn ra vào thứ Tư hàng tuần lúc 20. 00 UTC trong kênh #core trên Slack. Bất cứ ai cũng có thể tham gia và tham gia hoặc lắng nghe


    Cập nhật ngày 24 tháng 11 năm 2020. Đã thêm một lời kêu gọi trong phần “Xác thực loại/giá trị nghiêm ngặt cho các chức năng nội bộ” rằng vẫn có các trường hợp trong đó WP Lõi Lõi Core is the set of software required to run WordPress. The Core Development Team builds WordPress. có khả năng vượt qua không hợp lệ không hợp lệ Giải pháp trên trình theo dõi lỗi (và nói chung . nhập vào PHP PHP Ngôn ngữ kịch bản web mà WordPress được kiến ​​trúc chủ yếu. WordPress yêu cầu PHP 5. 6. 20 hoặc cao hơn các chức năng cốt lõi, đặc biệt là khi các giá trị được chuyển qua các bộ lọc. Đạo cụ @ hellofromtonya.


    PHP8. 0 đang trong giai đoạn cuối của chu kỳ phát hành. Kể từ ngày xuất bản của bài viết này, phiên bản 8. 0 RC5 đã được phát hành và bản phát hành cuối cùng của PHP 8. 0. 0 được lên lịch vào ngày 26 tháng 11 năm 2020

    Vì những thay đổi dự kiến ​​trong PHP 8 đã được công bố vào đầu năm nay, WordPress Những người đóng góp cốt lõi Những người đóng góp cốt lõi Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. đã làm việc để xác định các sự cố tương thích tiềm ẩn trong cơ sở mã. Điều này bao gồm một cuộc gọi để kiểm tra sớm hơn trong chu kỳ phát hành.

    WordPress Core nhằm mục đích tương thích với PHP 8. 0 trong 5. 6 phát hành (hiện dự kiến ​​vào ngày 8 tháng 12 năm 2020)

    Tuy nhiên, PHP8. 0 là một bản cập nhật phiên bản chính với một số lượng lớn các thay đổi phá vỡ khả năng tương thích ngược và nhiều tính năng không được dùng trong PHP 7. bản phát hành tính năng x đã chính thức bị xóa

    Khả năng tương thích ở đây có nghĩa là gì?

    Nỗ lực đáng kể đã được đưa vào việc tạo ra WordPress 5. 6 tương thích với PHP 8, nhưng rất có thể vẫn còn những vấn đề chưa được khám phá

    Do bản chất của việc sử dụng WordPress và cam kết với cơ sở người dùng của chúng tôi, tính tương thích sẽ được xem xét trong mắt những người dùng đó. Mục tiêu là nâng hệ sinh thái rộng lớn hơn lên trạng thái tương thích với PHP 8. Điều đó yêu cầu phần mềm Core không chỉ tự tương thích mà còn cung cấp khả năng bảo vệ chống lại các sự cố thường thấy trong quá trình chuyển đổi sang PHP 8, trong khi vẫn tiếp tục hoạt động trên các phiên bản PHP cũ hơn

    Cũng cần thừa nhận rằng WordPress không bao giờ được sử dụng riêng lẻ (không có bất kỳ chủ đề hoặc plugin nào), vì vậy bản thân WordPress có thể chạy trên PHP 8 không có nghĩa là khả năng tương thích “đầy đủ”

    Trạng thái hỗ trợ PHP 8 trong hệ sinh thái rộng lớn hơn (plugin, chủ đề, v.v. ) không thể biết được. Vì lý do đó, WordPress 5. 6 nên được coi là “ beta Beta Bản phát hành trước của phần mềm được cung cấp cho một nhóm lớn người dùng . Các phiên bản beta đã trải qua quá trình thử nghiệm alpha nội bộ và nhìn chung khá giống về hình thức, cảm nhận và chức năng với sản phẩm cuối cùng; . tương thích” với PHP 8.

    “Khả năng tương thích beta”

    Gọi WordPress 5. 6 “tương thích beta” là bước đầu tiên tốt. Làm như vậy thừa nhận công việc khó khăn đã được thực hiện để WordPress chạy trên PHP 8 mà không gặp sự cố lớn và vượt qua các bài kiểm tra PHPUnit. Nó cũng tôn vinh cam kết của dự án về việc tương thích với các phiên bản PHP mới khi chúng được phát hành

    Đồng thời, Core không thể yêu cầu “tương thích hoàn toàn” vì quá trình đạt được trạng thái đó mất nhiều thời gian hơn trong hệ sinh thái lớn hơn. Đó là nơi WordPress Core cần trợ giúp

    Tất cả plugin Plugin Plugin là một phần mềm chứa một nhóm các chức năng có thể được . Họ có thể mở rộng chức năng hoặc thêm các tính năng mới vào trang web WordPress của bạn. Các plugin WordPress được viết bằng ngôn ngữ lập trình PHP và tích hợp hoàn toàn với WordPress. Đây có thể là miễn phí trong WordPress. org Thư mục plugin https. //wordpress. org/plugins/ hoặc có thể là plugin dựa trên chi phí từ bên thứ ba và các nhà phát triển chủ đề, cũng như các cộng đồng lưu trữ, được yêu cầu làm cho mã của họ tương thích với PHP 8. Điều này sẽ cho phép WordPress đạt được “khả năng tương thích hoàn toàn” thực sự sớm hơn và người dùng cuối không phải gánh gánh nặng.

    Cũng cần lưu ý rằng tất cả các vấn đề về khả năng tương thích đã biết được xác định thông qua thử nghiệm tự động hoặc phân tích tĩnh đều đã được giải quyết, ngoại trừ những vấn đề chi tiết hơn trong bài đăng này. Phạm vi kiểm tra tự động của WordPress Core cần cải thiện nhiều và một số vấn đề sẽ yêu cầu kiểm tra thủ công WordPress trên PHP 8 trong các điều kiện khác nhau để khám phá

    Vì những lý do trên, bạn nên kiểm tra kỹ lưỡng trang web của mình trước khi nâng cấp lên PHP 8


    Dưới đây là phân tích lý do tại sao bản cập nhật PHP 8 hơi khác so với các bản cập nhật PHP gần đây khác và những thay đổi ảnh hưởng trực tiếp đến WordPress trong PHP 8. 0 mà các nhà phát triển cần lưu ý

    Các loại bản phát hành PHP

    Quy trình phát hành mà dự án PHP hiện đang tuân theo đã được đề xuất và thiết lập vào năm 2010. Quá trình này phác thảo các nguyên tắc nghiêm ngặt về thời điểm có thể thực hiện một số loại thay đổi nhất định. Quá trình này được cấu trúc xung quanh ý tưởng về "các bản phát hành chính" và tuân theo phiên bản ngữ nghĩa

    Bản phát hành chính hiện tại của PHP là 7. Trong 5 năm qua, đã có 4 bản phát hành tính năng cho PHP 7 bản phát hành chính bản phát hành chính Một bản phát hành, . 6), là trọng tâm của chu kỳ phát hành đầy đủ và phát triển tính năng. WordPress sử dụng số thập phân cho các phiên bản phát hành chính, vì vậy 2. 8, 2. 9, 3. 0 và 3. 1 là tuần tự và có thể so sánh trong phạm vi. (7. 1, 7. 2, 7. 3 và 7. 4) và hơn 130 bản phát hành sửa lỗi/bảo mật cho các bản phát hành tính năng này.

    Bản phát hành tính năng

    Mặc dù các tính năng mới và lỗi lỗi Lỗi là lỗi hoặc kết quả không mong muốn. Cải thiện hiệu suất, tối ưu hóa mã và được coi là cải tiến, không phải lỗi. Sau khi đóng băng tính năng, chỉ các lỗi mới được xử lý, trong đó ưu tiên cao nhất là hồi quy (các thay đổi bất lợi so với phiên bản trước). các bản sửa lỗi được cho phép trong bản phát hành tính năng, khả năng tương thích ngược và API API API . tính tương thích phải được duy trì. Các quy tắc này quy định loại thay đổi nào được phép, giảm khả năng các trang web sẽ bị hỏng khi nâng cấp lên các bản phát hành tính năng mới trong cùng một bản phát hành chính của PHP.

    Khi các tính năng cũ hơn không được dùng trong các bản phát hành này, chúng vẫn hoạt động. Thông thường các tính năng không dùng nữa sẽ gây ra lỗi (thường ở cấp độ

    3, 
    4 hoặc 
    5), thông báo cho nhà phát triển rằng tính năng này không còn dùng nữa. Các tính năng không dùng nữa chỉ có thể bị xóa trong bản phát hành chính trong tương lai

    phát hành chính

    Giống như các bản phát hành tính năng, các bản sửa lỗi và tính năng mới có thể được thêm vào trong các bản phát hành chính. Tuy nhiên, các tính năng cũ có thể bị xóa hoàn toàn, không cần duy trì khả năng tương thích ngược và khả năng tương thích API

    Kể từ PHP 8 RC4, có 48 thay đổi đối với PHP lõi phá vỡ khả năng tương thích ngược và 166 trong toàn bộ PHP 8 nói chung (tiện ích mở rộng, thư viện, v.v. )

    Điều này có ý nghĩa gì đối với các nhà phát triển

    Các trang web liên tục cập nhật lên các phiên bản PHP mới nhất và giải quyết các vấn đề với mỗi lần phát hành tính năng thường ít gặp sự cố hơn khi cập nhật lên phiên bản chính mới

    Các tính năng mới trong PHP 8 không tương thích với PHP 7 hoặc PHP 5 và thường gây ra lỗi nghiêm trọng

    Mặc dù việc làm cho trình cắm hoặc chủ đề của bạn tương thích với PHP 8 được khuyến khích mạnh mẽ, nhưng bạn không nên sử dụng các tính năng được thêm vào trong PHP 8 trong các trình cắm và chủ đề được phân phối trừ khi

    6 được đặt thành 
    7 trong tiêu đề   . Hình ảnh tiêu đề hoặc tiêu đề nằm trên đầu trang của bạn là một phần của giao diện trang web của bạn. Nó có thể ảnh hưởng đến ý kiến ​​của khách truy cập về nội dung của bạn và thương hiệu của bạn/tổ chức của bạn. Nó cũng có thể trông khác nhau trên các kích thước màn hình khác nhau. Phần  Header The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes.  của tệp chính (plugin) hoặc tệp 
    8 (chủ đề). 

    Những thay đổi trong PHP 8

    Dưới đây là bảng phân tích không đầy đủ về các thay đổi được chọn trong PHP 8. 0 mà các nhà phát triển plugin và chủ đề cần biết và nên chứa trong mã của họ

    tham số được đặt tên

    PHP 8 giới thiệu khả năng truyền đối số cho hàm theo tên tham số thay vì vị trí tham số. Điều này là thuận lợi trong một số cách, nhưng để đặt tên cho một số

    • Ý nghĩa của đối số trở thành tài liệu tự
    • Các đối số trở nên độc lập theo thứ tự
    • Giá trị mặc định có thể được bỏ qua tùy ý

    Ví dụ, chúng ta hãy xem truy xuất một thuật ngữ dưới dạng một mảng kết hợp bằng cách sử dụng

    9

    = 8.0
    $my_term = get_term( output: ARRAY_A, term: 1 );
    

    Lưu ý rằng các đối số trong ví dụ thứ hai được xác định không theo thứ tự và vì các đối số không được xử lý theo thứ tự nên các tham số tùy chọn sử dụng giá trị mặc định không còn cần thiết

    Các tham số được đặt tên cũng hoạt động với các chức năng nội bộ của PHP

    Đây là tổng quan rất đơn giản về tính năng tham số được đặt tên. Vui lòng đọc toàn bộ Yêu cầu nhận xét (RFC) trên trang web PHP để biết chi tiết về tác động đối với các hàm variadic,

    0 và các hàm liên quan, cũng như 
    1 và các hàm liên quan

    Tham số được đặt tên và WordPress

    Tính năng tham số được đặt tên đưa ra một sự cân nhắc đáng kể về khả năng tương thích ngược cho tất cả các mã PHP trong tương lai. Với việc giới thiệu tính năng này, tên tham số trở thành một phần của hợp đồng API và bất kỳ thay đổi nào đối với tên của chúng trong các bản phát hành WordPress trong tương lai sẽ phá vỡ khả năng tương thích ngược, gây ra lỗi nghiêm trọng khi mã đang gọi một hàm sử dụng tên tham số lỗi thời

    Một đánh giá tích cực về các chữ ký chức năng trong WordPress Core đã được đề xuất để đảm bảo rằng tất cả các tên tham số đều mang tính mô tả, chính xác và không sử dụng các từ khóa dành riêng để tránh mọi khả năng gây nhầm lẫn, nhưng nó sẽ không phải là một phần của WordPress 5. 6

    Việc sử dụng các tham số được đặt tên khi gọi các hàm và phương thức lớp của WordPress rõ ràng không được hỗ trợ và rất không được khuyến khích cho đến khi quá trình kiểm tra này có thể hoàn thành, vì trong quá trình kiểm tra, các tên tham số có thể thay đổi mà không cần thông báo trước. Khi quá trình kiểm tra này hoàn tất, nó sẽ được thông báo trong ghi chú dành cho nhà phát triển trong tương lai

    Nếu bạn chọn tận dụng các tham số được đặt tên khi sử dụng các chức năng và lớp WordPress Core trước thời điểm đó, bạn sẽ tự chịu rủi ro khi làm như vậy

    Ngoài ra, PHP Core đã xem xét các tên tham số của riêng họ để chuẩn bị cho bản phát hành PHP 8. Do tài liệu PHP chưa được cập nhật để phản ánh các thay đổi của PHP 8 nên một số tên tham số hiện được nêu chi tiết trong tài liệu cũng có thể thay đổi

    Để theo dõi hoặc đóng góp cho bài đánh giá này, hãy xem #51553 và #50531 trên Trac Trac . .

    Xác thực loại/giá trị nghiêm ngặt cho các chức năng nội bộ

    Khi hỗ trợ khai báo kiểu vô hướng được thêm vào trong PHP 7. 0, một lệnh mới (tùy chọn) cho mỗi tệp để thực thi kiểm tra loại nghiêm ngặt cũng đã được thêm vào. Bao gồm

    2 ở đầu tệp sẽ đảm bảo rằng việc kiểm tra loại nghiêm ngặt được thực hiện trên tất cả các đối số và trả về các giá trị trong đó các loại vô hướng được khai báo

    Khi được định cấu hình, kiểm tra loại nghiêm ngặt cũng mở rộng đến các tiện ích mở rộng và các hàm PHP bên trong được gọi trong tệp. Ở chế độ nghiêm ngặt, khi loại giá trị được truyền không khớp với loại được mong đợi, một

    3 sẽ được kích hoạt

    Tuy nhiên, khi kiểm tra loại nghiêm ngặt không được kích hoạt, hoạt động của các chức năng bên trong khi nhận được loại không mong muốn rất không nhất quán. Một số đưa ra cảnh báo và trả lại

    4, một số trả lại 
    5 và đưa ra một 
    6 với các loại nghiêm ngặt, và những người khác tạo ra một 
    6 (ngay cả khi 
    8 không được khai báo)

    Bắt đầu từ PHP 8, một

    6 sẽ được ném liên tục cho tất cả các hàm PHP nội bộ khi các loại tham số không hợp lệ được truyền vào, ngay cả khi không khai báo kiểm tra loại nghiêm ngặt

    Ngoài ra, một số hàm lõi PHP trước đây không có khai báo kiểu, giờ đây có. Có khả năng một số

    20 sẽ bị ném cho các chức năng thậm chí không đưa ra cảnh báo trong các phiên bản PHP cũ hơn

    Kiểu kiểm tra các chức năng do người dùng xác định sẽ vẫn như cũ. Bao gồm

    2 ở đầu tệp là bắt buộc để thực thi kiểm tra loại nghiêm ngặt trong toàn bộ tệp. Không có mã WordPress Core nào sử dụng chế độ nghiêm ngặt

    Một nỗ lực nhằm đảm bảo thực hành mã phòng thủ được áp dụng để tránh mọi khả năng chuyển các loại không hợp lệ sang chức năng Lõi WordPress đang được tiến hành trong #51423. Cho đến khi quá trình này hoàn tất, có thể một số mã trong WordPress có thể kích hoạt

    6, đặc biệt nếu loại giá trị bị thay đổi không chính xác thông qua mã được nối với  bộ lọc  . // codex. báo chí. org/Plugin_API/Hook. Chúng cung cấp một cách để các chức năng sửa đổi dữ liệu của các chức năng khác. Chúng là đối tác của Hành động. Không giống như Hành động, các bộ lọc có nghĩa là hoạt động theo cách biệt lập và không bao giờ có tác dụng phụ như ảnh hưởng đến các biến toàn cục và đầu ra.  Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. . 

    Vui lòng đọc toàn bộ RFC trên wiki PHP để biết chi tiết đầy đủ về những thay đổi này. Để biết thêm thông tin về điều này vì nó liên quan đến WordPress Core, hãy xem #51525 trên Trac

    Kiểm tra loại chặt chẽ hơn cho các toán tử số học và bitwise

    Trong các phiên bản PHP trước đây, việc áp dụng toán tử số học và bitwise cho mảng, đối tượng không quá tải và tài nguyên đã được cho phép. Tuy nhiên, hành vi đôi khi không nhất quán trong các tình huống khác nhau

    Bắt đầu từ PHP 8, tất cả các toán tử số học và bitwise sẽ đưa ra một giá trị

    6 khi một trong các toán hạng là một mảng, đối tượng không quá tải hoặc tài nguyên. Một ngoại lệ cho điều này là 
    24, sẽ không thay đổi

    Vui lòng đọc toàn bộ RFC trên wiki PHP để biết chi tiết đầy đủ về những thay đổi này. Để biết thêm thông tin về điều này vì nó liên quan đến WordPress Core, hãy xem #51525 trên Trac

    Saner chuỗi số

    Việc xử lý chuỗi số đã được thay đổi để trực quan hơn và ít
    dễ bị lỗi hơn. Khoảng trắng ở cuối hiện được cho phép ở dạng chuỗi số để
    nhất quán với cách xử lý khoảng trắng ở đầu. Điều này chủ yếu ảnh hưởng.

    • Hàm
      25
    • So sánh chuỗi với chuỗi
    • Loại khai báo
    • Các phép toán tăng và giảm

    Khái niệm về “chuỗi số ở đầu” hầu hết đã bị loại bỏ; . Thường được thực hiện nhất khi thay đổi công ty lưu trữ. migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. . Các chuỗi đã phát ra một

    4 “Đã gặp phải một giá trị số không được định dạng tốt” giờ đây sẽ phát ra một 
    3 “Đã gặp phải một giá trị không phải là số” và tất cả các chuỗi đã phát ra một 
    3 “Đã gặp phải một giá trị không phải là số” giờ đây sẽ đưa ra một 
    29 Điều này chủ yếu . 

    • Các phép tính toán học
    • hoạt động bitwise

    Thay đổi từ

    3 đến 
    6 này cũng ảnh hưởng đến E_WARNING “Chuỗi' bù chuỗi bất hợp pháp đối với phần bù chuỗi không hợp lệ. Hành vi của các diễn viên rõ ràng thành int/float từ các chuỗi không bị thay đổi

    Vui lòng đọc toàn bộ RFC trên wiki PHP để biết chi tiết đầy đủ về những thay đổi này

    So sánh không nghiêm ngặt giữa các số và chuỗi không phải là số

    So sánh không nghiêm ngặt giữa các số và chuỗi không phải số hiện hoạt động bằng cách chuyển số thành chuỗi và so sánh các chuỗi. So sánh giữa các số và chuỗi số tiếp tục hoạt động như trước đây. Đáng chú ý, điều này có nghĩa là bây giờ

    32 được coi là 
    5

    Một số mẫu mã khác có thể phổ biến trong plugin và chủ đề sẽ bị ảnh hưởng

    • 34 hiện được coi là 
      35 (xem [48960])
    • 36 hiện cũng được coi là 
      35 (xem [49043])

    Các thay đổi về lỗi, cảnh báo và thông báo

    Một số lượng lớn các lỗi có từ trước đã được phân loại lại. Đây là một số có thể thường gặp

    Cảnh báo được chuyển đổi thành ngoại lệ lỗi

    • Cố gắng ghi vào một thuộc tính của một đối tượng không phải. Trước đó, điều này
      đã ngầm tạo một đối tượng
      38 cho các chuỗi 
      39, 
      5 và rỗng. 
    • Cố gắng nối một phần tử vào một mảng mà khóa
      41 đã được sử dụng
    • Cố gắng sử dụng loại (mảng hoặc đối tượng) không hợp lệ làm khóa mảng hoặc
      độ lệch chuỗi.
    • Cố gắng ghi vào một chỉ mục mảng của một giá trị vô hướng
    • Đang cố giải nén một mảng không phải mảng/
      42

    Vui lòng đọc toàn bộ RFC trên PHP wiki để biết thêm thông tin về những thay đổi này

    Thông báo được chuyển đổi thành cảnh báo

    • Đang cố đọc một biến không xác định
    • Đang cố đọc một thuộc tính không xác định
    • Đang cố đọc một khóa mảng không xác định
    • Cố gắng đọc thuộc tính của một đối tượng không phải đối tượng
    • Cố gắng truy cập vào một chỉ mục mảng của một mảng không
    • Đang cố chuyển đổi một mảng thành chuỗi
    • Cố gắng sử dụng tài nguyên làm khóa mảng
    • Đang cố gắng sử dụng boolean
      43 hoặc float làm phần bù chuỗi
    • Đang cố đọc phần bù chuỗi ngoài giới hạn
    • Đang cố gắng gán một chuỗi rỗng cho một chuỗi offset

    Đọc toàn bộ RFC trên wiki PHP để biết thêm thông tin

    Các thay đổi liên quan đến công cụ xây dựng và kiểm tra

    Bởi vì WordPress hỗ trợ PHP 5. 6. 20 trở lên, việc chạy bộ thử nghiệm WordPress Core PHPUnit trên PHP 8 không đơn giản

    • PHPUnit >= 9. 3 là phiên bản PHPUnit duy nhất hiện hỗ trợ PHP 8
    • đơn vị PHP 5. 7. x là phiên bản cuối cùng bao gồm hỗ trợ cho PHP 5. 6
    • PHPUnit 8. x đã thay đổi một số phương thức không trả về giá trị để chỉ định khai báo kiểu trả về
      44. Tuy nhiên, kiểu trả về này không có sẵn trong PHP < 7. 1

    Nhằm duy trì khả năng chạy bộ thử nghiệm trên PHP 5. 6 đồng thời cho phép các thử nghiệm chạy trên PHP 8, các thay đổi đối với PHPUnit bắt buộc đã được đưa vào bộ thử nghiệm WordPress Core và Trình soạn thảo được sử dụng để thao tác quá trình tự động tải cho PHPUnit 7. x

    Để chạy bộ thử nghiệm WordPress Core PHPUnit trên PHP 8, bắt buộc phải sử dụng Composer để cài đặt và chạy

    Để giúp việc này trở nên dễ dàng hơn, một tập lệnh NPM mới đã được thêm vào để chạy bộ thử nghiệm trong môi trường Docker cục bộ bằng cách sử dụng phiên bản PHPUnit được cài đặt Trình soạn thảo

    2

    Để biết thêm thông tin về lệnh mới này, hãy xem #51456. Để biết thêm thông tin về cách làm cho bộ thử nghiệm tương thích với PHP 8/PHPUnit >= 8, hãy xem #46149, #50902 và #50913

    Thư viện bên ngoài

    Một số thư viện bên ngoài đi kèm với WordPress Core đã được cập nhật để khắc phục sự cố tương thích với PHP 8. Các yêu cầu kéo đã được mở khi thích hợp để đảm bảo những thay đổi này được đưa vào các bản phát hành trong tương lai của các thư viện này

    • SimplePie đã được cập nhật từ phiên bản 1. 5. 5 đến 1. 5. 6 (xem #51521). Ngoài ra, lớp
      45 không được dùng nữa và sẽ chỉ được tải để tương thích ngược nếu SimplePie < 3 được tải trong plugin (xem #51629 và #29204)
    • 46 đã được cập nhật để tránh lỗi khi cố gắng truy cập hằng số 
      47, hằng số này đã bị xóa trong PHP 8 (xem #51399)
    • 48 đã được cập nhật để sửa lỗi nghiêm trọng “Phương thức không tĩnh không thể được gọi là tĩnh” (xem #51559)

    Ghi chú bổ sung

    • 49 đã bị xóa. Phiên bản cuối cùng của chức năng này trong WordPress đã bị xóa (xem #50899)
    • Toán tử
      50 sẽ không còn tắt các lỗi nghiêm trọng. Cần lưu ý rằng các thông báo lỗi không được hiển thị trong môi trường sản xuất, điều này có thể dẫn đến rò rỉ thông tin
    • Theo sau toán tử nhận xét băm # ngay lập tức với dấu ngoặc mở không được hỗ trợ dưới dạng nhận xét nữa vì cú pháp này hiện được sử dụng cho các thuộc tính
    • 51 không được dùng nữa (xem #50898)
    • Các thay đổi về loại trả về tài nguyên đối tượng, bao gồm cả việc giới thiệu hàm
      52
    • Thay đổi để sắp xếp. nếu bất kỳ mã nào dựa trên một thứ tự sắp xếp nhất định dựa trên hành vi trước đó, điều này có thể không thành công
    • Các loại tham số/trả về cho các hàm PHP khác nhau đã thay đổi và có thể có tác động. Những thay đổi tinh vi như thế
      53 giờ đây sẽ luôn trả về một chuỗi. Trước đây, điều này đã trả về 
      54

    Bản tóm tắt

    Như mọi khi, bạn nên đọc qua toàn bộ tài liệu nâng cấp

    Ngay cả khi WordPress Core tiếp tục mở rộng hỗ trợ cho các phiên bản PHP mới, hỗ trợ cho các phiên bản cũ sẽ vẫn như hiện tại, ở mức PHP 5. 6. 20 trở lên cho đến khi số lượng sử dụng cho thấy tác động đối với người dùng sẽ ở mức tối thiểu

    Có một sáng kiến ​​riêng để giảm số lượng sử dụng cho các phiên bản PHP cũ hơn do nhóm Core PHP hướng dẫn thông qua sáng kiến ​​

    55. Nếu bạn muốn trợ giúp với nỗ lực này, vui lòng tham gia phòng #core-php trong phiên bản Tạo WordPress Core Slack

    WordPress tiếp tục khuyến khích tất cả người dùng chạy các phiên bản PHP mới nhất và tốt nhất. Điều này bao gồm PHP 8. 0 khi phát hành chính thức