การเปลี่ยนแปลงใน PHP 8 ใหม่ส่งผลต่อประสิทธิภาพของเว็บไซต์ WordPress ของคุณอย่างไร

เผยแพร่แล้ว: 2023-05-04

ในฐานะที่เป็นหนึ่งในภาษาโปรแกรมที่ดีที่สุดในปัจจุบัน PHP นำเสนอวิธีใหม่ๆ ในการพัฒนาเว็บและการเขียนโค้ดที่ยืดหยุ่นมากขึ้น ด้วยการเปิดตัว PHP 8.0 และ PHP 8.1 นั้น PHP มีเป้าหมายที่จะนำเสนอคุณลักษณะใหม่ๆ ที่ให้ไวยากรณ์ ความปลอดภัย และอื่นๆ ที่ดีขึ้นในตาราง

อ่านต่อด้านล่างเพื่อเรียนรู้เพิ่มเติมว่ามีอะไรใหม่ใน PHP 8.0 และฟังก์ชันพิเศษทั้งหมด ค้นพบการอัปเดตและการปรับปรุงที่สำคัญทั้งหมดจากเวอร์ชันก่อนๆ และผลกระทบที่มีต่อไซต์ WordPress ของคุณ

การเข้ารหัส PHP

ทำความเข้าใจเกี่ยวกับการอัปเดต PHP 8.0

การอัปเดต PHP 8.0 มีการเปลี่ยนแปลงที่สำคัญสำหรับนักพัฒนาและเว็บไซต์ทั่วโลก เปิดตัวในปี 2020 โดยสัญญากับคุณสมบัติใหม่และการปรับปรุงที่โดยทั่วไปมีประสิทธิภาพที่ดีขึ้น ไวยากรณ์ ความปลอดภัยของประเภท และการจัดการข้อผิดพลาดผ่านการร้องขอสำหรับความคิดเห็น (RFC) ที่เป็นนวัตกรรมใหม่และฟังก์ชันอื่นๆ

แม้ว่าความแตกต่างของประสิทธิภาพจะไม่โดดเด่นเท่ากับความแตกต่างระหว่าง PHP 5 และ PHP 7 แต่ PHP 8.0 ให้การปรับปรุงอย่างต่อเนื่องในแต่ละรุ่น นอกจากนี้ การเปลี่ยนแปลงส่วนใหญ่ใน PHP 7 ถึง PHP 7.4 ส่วนใหญ่จะเลิกใช้แล้ว

ทั้ง PHP 8.0 และ PHP 8.1 นำเสนอฟังก์ชันใหม่เพื่อช่วยให้นักพัฒนาเขียนโค้ดได้รวดเร็วและยืดหยุ่นมากขึ้น ต่อไปนี้เป็นข้อเสนอที่ควรค่าแก่การพิจารณามากที่สุดที่นักพัฒนาซอฟต์แวร์ควรพิจารณา

การรวบรวมทันเวลา

Just-in-time หรือ JIT compiler เป็นหนึ่งในคุณสมบัติใหม่ที่ดีที่สุดใน PHP เวอร์ชันล่าสุด ด้วย RFC นี้ นักพัฒนาสามารถข้ามการคอมไพล์เพื่อปรับปรุงประสิทธิภาพและการใช้หน่วยความจำได้อย่างมาก

PHP ใช้ RFC นี้เป็นส่วนที่เกือบจะเป็นอิสระจาก Opcache เมื่อเปิดใช้งาน JIT นักพัฒนาสามารถรันโค้ดผ่าน CPU แทนโปรแกรมของบริษัทอื่น เช่น Zend VM ซึ่งช่วยเพิ่มความเร็วในการคำนวณ

นอกเหนือจากโซลูชันการเข้ารหัสเชิงตัวเลขที่ดีกว่าแล้ว JIT ยังให้ประสิทธิภาพที่ดีกว่าสำหรับโค้ดเว็บแอปพลิเคชัน PHP "ทั่วไป" นอกจากนี้ มีความเป็นไปได้ในการย้ายโค้ดจาก C ไป PHP มากขึ้น เนื่องจาก PHP จะกลายเป็นเร็วขึ้นผ่าน JIT

นอกจากนี้ PHP 8.0 ยังแนะนำตัวรวบรวม JIT สองตัว: การติดตามและ 1.5 จากสองสิ่งนี้ JIT การติดตามให้คำมั่นสัญญามากที่สุดโดยแสดงประสิทธิภาพประมาณสามเท่าบนเกณฑ์มาตรฐานสังเคราะห์ ในขณะเดียวกัน 1.5 มีการปรับปรุงเพิ่มขึ้นสองเท่าสำหรับแอปพลิเคชันที่ใช้เวลานาน

ชื่ออาร์กิวเมนต์

PHP เวอร์ชันล่าสุดให้อาร์กิวเมนต์ที่มีชื่อเพื่อขยายพารามิเตอร์ตำแหน่งที่มีอยู่ ตอนนี้ นักพัฒนาสามารถส่งข้อมูลอินพุตไปยังฟังก์ชันตามชื่อพารามิเตอร์แทนตำแหน่ง ด้วยเหตุนี้ อาร์กิวเมนต์ที่มีชื่อจึงมีข้อดีหลายประการสำหรับนักพัฒนา

ประการแรก ช่วยให้พวกเขาสร้างรหัสที่เข้าใจได้มากขึ้น เนื่องจากความหมายของอาร์กิวเมนต์คือการจัดทำเอกสารด้วยตนเอง นอกจากนี้ยังไม่ขึ้นกับลำดับ ซึ่งหมายความว่านักพัฒนาไม่จำเป็นต้องส่งอาร์กิวเมนต์ไปยังฟังก์ชันในลักษณะเดียวกับลายเซ็นของฟังก์ชัน

นอกจากนี้ยังเป็นไปได้ที่นักพัฒนาจะรวมอาร์กิวเมนต์กับอาร์กิวเมนต์ตำแหน่ง นอกจากนี้ยังช่วยให้พวกเขาสามารถระบุอาร์กิวเมนต์ที่ต้องการเปลี่ยนแปลงได้ ด้วยวิธีนี้พวกเขาจะไม่ต้องปรับอาร์กิวเมนต์หากไม่ต้องการเขียนทับค่าเริ่มต้น

อาร์กิวเมนต์ที่มีชื่อยังมีประโยชน์กับการประกาศคลาสหรือประเภท

ประเภทสหภาพ 2.0

ในเวอร์ชัน PHP ก่อนหน้านี้ นักพัฒนาสามารถระบุประเภทสหภาพในคำอธิบายประกอบเอกสารเท่านั้น PHP ไม่ได้ให้การสนับสนุนยกเว้น "?Type syntax" และคลาส "iterable"

PHP 8.0 มีจุดมุ่งหมายเพื่อสนับสนุนประเภทสหภาพในลายเซ็นฟังก์ชันผ่าน union types 2.0 RFC ด้วยการอัปเดตนี้ นักพัฒนาจะไม่พึ่งพาเอกสารแบบอินไลน์อีกต่อไป

นอกจากนี้ การสนับสนุนประเภทสหภาพใน PHP ช่วยให้นักพัฒนาสามารถย้ายคลาสข้อมูลต่างๆ จาก phpdoc ไปยังลายเซ็นของฟังก์ชันได้ ด้วยเหตุนี้ พวกเขาจึงสามารถบรรลุประโยชน์ต่างๆ รวมถึงตรวจจับข้อผิดพลาดได้ตั้งแต่เนิ่นๆ ป้องกันไม่ให้ข้อมูลประเภทล้าสมัย และตรวจสอบประเภทระหว่างการสืบทอด

ตัวดำเนินการ Nullsafe

ก่อนหน้านี้ นักพัฒนาไม่สามารถใช้โอเปอเรเตอร์การรวมค่าว่างในการเรียกเมธอด พวกเขาต้องการการตรวจสอบขั้นกลางหรือตัวช่วยเสริมจากเฟรมเวิร์กของบุคคลที่สาม อย่างไรก็ตาม ด้วยโอเปอเรเตอร์ nullsafe ใหม่ นักพัฒนาสามารถมีฟังก์ชันดังกล่าวในเมธอดได้ หมายความว่าตอนนี้นักพัฒนาสามารถใช้สายโซ่แทนการตรวจสอบเงื่อนไขที่เป็นโมฆะได้ หากการประเมินองค์ประกอบหนึ่งในห่วงโซ่ล้มเหลว ห่วงโซ่การดำเนินการทั้งหมดจะหยุดลงและห่วงโซ่ทั้งหมดจะประเมินเป็น "null"

แอตทริบิวต์ V2

แอตทริบิวต์เป็นที่รู้จักกันทั่วไปว่าเป็นคำอธิบายประกอบในภาษาอื่น แอตทริบิวต์คือข้อมูลเมตาที่มีโครงสร้างซึ่งนักพัฒนาสามารถใช้เพื่อระบุคุณสมบัติสำหรับวัตถุ องค์ประกอบ หรือไฟล์ นักพัฒนายังสามารถใช้คุณสมบัตินี้เพื่อเพิ่มข้อมูลเมตาให้กับชื่อคลาสทั้งหมดโดยไม่ต้องแยกวิเคราะห์ doblock

จนถึง PHP 7.4 วิธีเดียวที่จะเพิ่มข้อมูลเมตาในการประกาศคลาสคือผ่านความคิดเห็นในเอกสาร ด้วย Attributes V2 RFC ใหม่ PHP กำหนดแอตทริบิวต์เป็นโครงสร้าง นักพัฒนาข้อมูลเมตาวากยสัมพันธ์สามารถใช้เพื่อเพิ่มการประกาศประเภท ฟังก์ชัน คุณสมบัติ วิธีการ พารามิเตอร์ และค่าคงที่

ตอนนี้นักพัฒนาสามารถเพิ่มแอตทริบิวต์ก่อนหรือหลังความคิดเห็นของ docblock และมีค่าที่เกี่ยวข้องตั้งแต่หนึ่งค่าขึ้นไป

จับคู่นิพจน์ V2

ผู้ที่คุ้นเคยกับ "switch expressions" จะรู้อยู่แล้วว่า match expression นั้นเกี่ยวกับอะไร เฉพาะนิพจน์ที่ตรงกันเท่านั้นที่เป็นเวอร์ชันที่ดีกว่าของ “switch”

ตัวอย่างเช่น มันให้ความหมายที่ปลอดภัยกว่า ซึ่งช่วยให้นักพัฒนาสามารถคืนค่าได้เพียงครั้งเดียว นอกจากนี้ยังสามารถรวมเงื่อนไขโดยไม่ทำลายค่า นอกจากนี้ยังไม่มีการบังคับประเภทใด ๆ และใช้การเปรียบเทียบประเภทที่เข้มงวด

โปรโมชันคุณสมบัติตัวสร้าง

RFC นี้แนะนำไวยากรณ์ที่กระชับมากขึ้นเพื่อช่วยลดความซับซ้อนของการประกาศคุณสมบัติ ซึ่งมีจุดประสงค์เพื่อผสานตัวสร้างและคำนิยามพารามิเตอร์ ตอนนี้ นักพัฒนามีวิธีที่ดีกว่าในการประกาศคุณสมบัติหรือพารามิเตอร์โดยทำให้ซ้ำซ้อนน้อยลงและสั้นลง RFC นี้ยังช่วยให้นักพัฒนาลดรหัสสำเร็จรูปที่พวกเขาเขียนสำหรับวัตถุที่มีมูลค่า

สตริง Saner กับการเปรียบเทียบตัวเลข

PHP 8.0 เสนอ RFC นี้เพื่อให้การเปรียบเทียบสตริงตัวเลขมีความสมเหตุสมผลมากขึ้น ในการทำงานดังกล่าวก่อนหน้านี้ PHP จะส่งสตริงเป็นตัวเลขก่อน แล้วจึงทำการเปรียบเทียบระหว่างจำนวนเต็มหรือทศนิยม แม้ว่าแนวทางปฏิบัตินี้จะเป็นประโยชน์ในรูปแบบต่างๆ แต่อาจสร้างข้อผิดพลาดร้ายแรงเกี่ยวกับฟังก์ชันของไซต์และผลกระทบด้านความปลอดภัย

ตามที่กล่าวไว้ RFC นี้มีจุดมุ่งหมายเพื่อให้การเปรียบเทียบสตริงกับตัวเลขเป็นพฤติกรรมที่สมเหตุสมผลมากขึ้น จะใช้การเปรียบเทียบตัวเลขเมื่อเปรียบเทียบกับสตริงตัวเลขหรือแปลงตัวเลขเป็นสตริงและใช้การเปรียบเทียบสตริง

ข้อผิดพลาดประเภทที่สอดคล้องกันสำหรับฟังก์ชันภายใน

เมื่อส่งผ่านพารามิเตอร์ประเภทที่ผิดกฎหมาย ฟังก์ชันภายในและฟังก์ชันที่ผู้ใช้กำหนดจะทำงานแตกต่างกัน ฟังก์ชันภายในไม่โยน “TypeError” เหมือนฟังก์ชันที่ผู้ใช้กำหนด แต่จะส่งคำเตือนและส่งกลับเป็น "null"

PHP 8.0 แก้ไขความไม่สอดคล้องกันเหล่านี้โดยเสนอ RFC ที่ทำให้ API การแยกวิเคราะห์พารามิเตอร์ภายในสร้าง "ThrowError" ในกรณีที่ประเภทพารามิเตอร์ไม่ตรงกัน ด้วยเหตุนี้ ลักษณะการทำงานของฟังก์ชันภายในทั้งหมดจึงสอดคล้องกันมากขึ้น

รหัส PHP

คลาส อินเทอร์เฟซ และฟังก์ชันใหม่

ท่ามกลางการเปลี่ยนแปลงใหม่ที่โดดเด่นของ PHP 8.0 คือคลาส WeakMap โดยทั่วไปแล้ว แผนที่ที่อ่อนแอคือชุดของข้อมูลหรือวัตถุที่มีคีย์อ้างอิงที่อ่อนแอ การอ้างอิงข้อมูลที่อ่อนแอหมายความว่าไม่มีการป้องกันไม่ให้ถูกทำลาย ส่งผลให้ประสิทธิภาพต่ำและหน่วยความจำรั่วไหล

PHP 7.4 รองรับการอ้างอิงที่อ่อนแอเพื่อคงไว้ซึ่งการอ้างอิงถึงข้อมูลซึ่งไม่ได้ป้องกันการถูกทำลาย อย่างไรก็ตาม การอ้างอิงที่ดิบและอ่อนแอจะถูกจำกัดไว้สำหรับตัวมันเอง

ในทางกลับกัน แผนที่อ่อนแอนั้นพบได้บ่อยมากในทางปฏิบัติ แต่มันเป็นไปไม่ได้ที่จะใช้แผนที่ที่อ่อนแออย่างมีประสิทธิภาพบนการอ้างอิงที่อ่อนแอของ PHP ด้วยคลาส WeakMap ของ PHP 8.0 นักพัฒนาสามารถทำได้ พวกเขาสามารถสร้างวัตถุเป็นคีย์แผนที่ที่อ่อนแอซึ่งผู้พัฒนาหรือโปรแกรมสามารถทำลายได้ นั่นหมายความว่า PHP จะพิจารณาและรวบรวมออบเจกต์เหล่านี้เป็นขยะหากไม่มีสิ่งใดอ้างอิงเป็นระยะเวลานาน

การเพิ่มคุณลักษณะใหม่ที่เป็นประโยชน์ของ PHP 8.0 อีกประการหนึ่งคืออินเทอร์เฟซแบบสตริงได้ RFC นี้จะเพิ่มฟังก์ชันนี้ให้กับทุกคลาสโดยอัตโนมัติโดยใช้เมธอด “__toString()” หมายความว่านักพัฒนาไม่จำเป็นต้องเข้ารหัสอินเทอร์เฟซด้วยตนเองทุกครั้งที่คลาสใช้โค้ด

ใน PHP เวอร์ชันก่อนหน้า “strstr” และ “strpos” เป็นตัวเลือกมาตรฐานสำหรับนักพัฒนาในการค้นหาเข็มในสตริง น่าเสียดายที่หลายคนมองว่าทั้งสองฟังก์ชันไม่ใช้งานง่ายพอ และอาจทำให้นักพัฒนา PHP มือใหม่เกิดความสับสนได้ ตอนนี้พวกเขาสามารถค้นหาภายในสตริงได้ง่ายขึ้นด้วยฟังก์ชันใหม่ “str_contains”

นอกจาก str_contains แล้ว PHP 8.0 ยังมี “str_starts_with()” และ “str_ends_with()” เพื่อช่วยในการค้นหาเข็มภายในสตริงได้ดีขึ้น

ฟังก์ชันใหม่อื่นๆ ได้แก่ "fdiv()," "get_debug_type()," "get resource_id()," "token_get_all()" การนำวัตถุไปใช้ และ DOM Traversal and Manipulation APIs

ประเภทระบบและการจัดการข้อผิดพลาด

PHP 8.0 ยังมีการปรับปรุงระบบและการจัดการข้อผิดพลาดต่างๆ หนึ่งในนั้นคือประเภทผสม “ประเภทผสม” ช่วยป้องกันประเภทที่ขาดหายไปในโค้ด ใน PHP ประเภทที่ขาดหายไปอาจหมายถึงฟังก์ชันส่งคืน null ประเภทใดประเภทหนึ่งจากหลายประเภท หรือประเภทที่ไม่สามารถบอกใบ้ประเภทได้

โดยทั่วไปคำว่า "mixed" อาจหมายถึง array, boolean, callable, int, float, null, object, resource และ string ด้วยประเภทผสมใหม่ นักพัฒนาสามารถเพิ่มประเภทให้กับพารามิเตอร์ คุณสมบัติคลาส และการคืนค่าฟังก์ชัน การทำเช่นนี้จะช่วยระบุว่าข้อมูลประเภทไม่ถูกลืม แต่ระบุได้แม่นยำกว่า

การปรับปรุงที่โดดเด่นอีกอย่างที่ PHP 8.0 นำมาคือประเภทการส่งคืนแบบคงที่ ก่อน PHP 8.0 "ตัวตน" สามารถกลับมาได้ แต่ "คงที่" ไม่สามารถทำได้ ด้วยลักษณะการพิมพ์แบบไดนามิกของ PHP นักพัฒนาจะพบว่าคุณสมบัตินี้มีประโยชน์อย่างเหลือเชื่อ

การปรับปรุงระบบประเภทอื่นๆ และการจัดการข้อผิดพลาดที่ PHP มีให้ ได้แก่ การตรวจสอบวิธีการลักษณะนามธรรม ลายเซ็นที่ถูกต้องของวิธีการวิเศษ การสืบทอดด้วยวิธีการส่วนตัว และคำเตือนเครื่องยนต์ที่จัดประเภทใหม่ นอกจากนี้ยังมีข้อผิดพลาดร้ายแรงสำหรับลายเซ็นเมธอดที่เข้ากันไม่ได้และวัตถุทึบแสงแทนที่จะเป็นทรัพยากรสำหรับส่วนขยาย Curl, Gd, Sockets, OpenSSL, XMLWriter และ XML

การปรับปรุงไวยากรณ์อื่น ๆ

PHP 8.0 ยังมีการปรับปรุงไวยากรณ์หลายอย่าง ตัวอย่างเช่น ตอนนี้นักพัฒนาสามารถใช้ "throw" เป็นนิพจน์แทนคำสั่ง ทำให้สามารถโยนข้อยกเว้นในที่ต่างๆ ได้

นอกจากนี้ PHP 8.0 ยังมี RFC ไวยากรณ์ของตัวแปรซึ่งช่วยแก้ไขความไม่สอดคล้องกันหลายอย่างในไวยากรณ์ตัวแปรของโปรแกรม ผ่าน RFC นี้ นักพัฒนาสามารถจัดการกับกรณีเล็กๆ ที่มองข้ามได้แล้ว

นอกจากนี้ PHP 8.0 ยังมี catch ที่ไม่ได้จับภาพอีกด้วย ก่อนการอัปเดต นักพัฒนาจะเก็บข้อยกเว้นไว้ในตัวแปรหากต้องการตรวจจับ พวกเขาสามารถละเว้นตัวแปรได้

นอกจากนี้ นักพัฒนาสามารถใช้ชื่อเนมสเปซเป็นโทเค็นเดียวและอนุญาต “::คลาส” บนวัตถุ นอกจากนี้ ยังอนุญาตให้ใช้เครื่องหมายจุลภาคต่อท้ายในรายการพารามิเตอร์ และการปิดใช้รายการ RFC

เวิร์ดเพรส

PHP ใหม่ส่งผลต่อเว็บไซต์ WordPress ของคุณอย่างไร

ปัจจุบัน WordPress รองรับ PHP เวอร์ชัน 7.4, 8.0 และ 8.1 น่าเสียดายที่ผู้ใช้บางคนลังเลที่จะอัปเกรดเนื่องจากเวอร์ชันใหม่เข้ากันไม่ได้กับธีมและปลั๊กอินที่พวกเขาชื่นชอบ

ในขณะเดียวกัน ปัญหาความเข้ากันได้จะเกิดขึ้นก็ต่อเมื่อพวกเขาไม่ได้ใช้ WordPress เวอร์ชันล่าสุด เช่น 5.9 และ 6.0 บางคนไม่ต้องการทำเช่นนั้นเพราะพวกเขาชอบทำงานกับซอฟต์แวร์รุ่นเก่าหรือล้าสมัย ซึ่งทำให้ไม่สามารถอัปเกรดเป็น PHP เวอร์ชันล่าสุดได้ ด้วยเหตุนี้ พวกเขามักจะพบปัญหามากขึ้นในกระบวนการพัฒนา

ในทางกลับกัน นักพัฒนาที่ได้ลองใช้ PHP เวอร์ชันล่าสุดบนไซต์ WordPress ของพวกเขาจะพบกับการพัฒนาที่ดีขึ้นและง่ายขึ้นด้วยคุณสมบัติและการปรับปรุงใหม่ๆ PHP 8.0 และ 8.1 นำเสนอการจัดการข้อผิดพลาดและการเพิ่มประสิทธิภาพที่ยอดเยี่ยม นอกจากนี้ 8.1 มีแผนที่จะรองรับและอัพเดทความปลอดภัยในปีถัดๆ ไป

การเตรียมไซต์ WordPress ของคุณสำหรับการอัปเดต PHP

ตามที่กล่าวไว้ PHP 8.0 มีปัญหาความเข้ากันได้เฉพาะกับ WordPress เวอร์ชันเก่า เพื่อประสบการณ์การพัฒนาที่ราบรื่น ทางที่ดีควรอัปเดตไซต์ของคุณเป็นเวอร์ชัน 5.9 หรือ 6.0 เพื่อรองรับฟังก์ชันใหม่ของ PHP

หากคุณลังเลที่จะอัปเกรดเว็บไซต์ WordPress เป็นเวอร์ชันล่าสุด คุณสามารถทดสอบก่อนด้วยเครื่องมือต่างๆ ทางออนไลน์เพื่อดูว่าคุณสามารถดำเนินการต่อไปได้โดยไม่มีข้อผิดพลาดหรือไม่ นอกจากนี้ ก่อนกำหนดค่าไซต์ของคุณสำหรับ PHP 8.0 ใหม่ ควรทำสำเนาไซต์ก่อนเพื่อหลีกเลี่ยงการสูญเสียข้อมูลเนื่องจากข้อผิดพลาด เมื่อคุณทำเสร็จแล้ว ให้ทดสอบกับ PHP เวอร์ชันล่าสุดเพื่อดูว่าเข้ากันได้หรือไม่

หากธีมและปลั๊กอินเฉพาะไม่ทำงานกับ PHP 8.0 คุณต้องอัปเดตเป็นเวอร์ชันล่าสุด แทนที่จะกลับไปใช้ PHP แบบเก่า ให้ติดต่อทีมสนับสนุนของธีมหรือปลั๊กอินและแจ้งปัญหาความเข้ากันได้ให้พวกเขาทราบ พวกเขาควรอัปเดตคุณลักษณะของไซต์ของคุณเพื่อให้สามารถทำงานร่วมกับ PHP 8.0 และ PHP 8.1 ได้อย่างราบรื่น

เพิ่มพลังให้กับเว็บไซต์ WordPress ของคุณ

ด้วยเทคโนโลยีสมัยใหม่ที่ก้าวหน้าอย่างรวดเร็ว ความต้องการไซต์ที่มีการแข่งขันสูงและมีฟังก์ชันการทำงานสูงจึงเติบโตอย่างต่อเนื่อง นั่นหมายถึงการลังเลที่จะปรับตัวให้เข้ากับเทรนด์ใหม่ ๆ อาจทำให้ไซต์ของคุณล้าหลัง

ปัจจุบัน ภาษาโปรแกรม PHP นำเสนอคุณสมบัติใหม่ที่ช่วยให้นักพัฒนาเขียนโค้ดได้ดีขึ้นกว่าเดิม ด้วยเวอร์ชัน 8.0 และ 8.1 ในขณะที่คุณสมบัติใหม่ ๆ ในปัจจุบันมีมากมายสำหรับนักพัฒนาแล้ว PHP สัญญาเพิ่มเติมสำหรับเว็บไซต์ในอนาคต