PHP เปิดตัวเวอร์ชันล่าสุดที่คาดหวังไว้มาก 7.4

เผยแพร่แล้ว: 2022-01-02

มีโฆษณามากมายเกี่ยวกับ PHP 7.4 ก่อนเปิดตัว และตอนนี้ก็ได้เปิดตัวในที่สุด เรารู้สึกตื่นเต้นที่จะนำเสนอให้คุณได้เห็นอย่างใกล้ชิดและครั้งแรกที่เวอร์ชัน PHP ล่าสุดที่มาพร้อมกับคุณสมบัติที่ได้รับการปรับปรุง

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

ข่าวดีก็คือ เวลาประมวลผลคำขอลดลง 15% เมื่อลูกค้า WordPress เปลี่ยนจาก PHP 7.2 เป็น PHP 7.3 นี่แสดงให้เห็นว่า PHP 7.3 นั้นเร็วกว่า PHP 7.2 อย่างน้อย 10%

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

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

โดยไม่ต้องกังวลใจมาก มาเริ่มกันเลย

ทำให้รหัสใช้งานง่ายมาก ซึ่งในที่สุดจะปรับปรุงประสิทธิภาพการพัฒนา

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

ต่อไปนี้คือ RFC บางส่วนที่จะเผยแพร่ใน PHP เวอร์ชัน 7.4 ที่จะปรับปรุงประสิทธิภาพการทำงานของ PHP:

ฟังก์ชั่นลูกศร

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

มี คีย์เวิร์ด fn (ปัจจุบันเป็นคีย์เวิร์ดที่สงวนไว้) ใน PHP 7.4 Short Closures ประกอบด้วยนิพจน์เอกพจน์โดยไม่มีคีย์เวิร์ดส่งคืน แม้ว่าจะไม่มีประสิทธิภาพเท่ากับ JavaScript อย่างไรก็ตาม คุณสามารถคาดหวังโซลูชันที่รวดเร็วสำหรับบางสถานการณ์ได้เสมอ

นี่คือตัวอย่างหนึ่งของข้อมูลโค้ดที่แสดงสองวิธีที่แตกต่างกันในการพัฒนาอาร์เรย์ของอีเมลผู้ใช้จากการสะสมออบเจกต์ผู้ใช้:

ฟังก์ชั่นลูกศร

แหล่งที่มา

พิมพ์คุณสมบัติ

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

ตัวอย่างเช่น เป็นไปได้ที่จะกำหนด คุณสมบัติ $id ให้กับจำนวนเต็มและ คุณสมบัติ $title เป็นสตริงเท่านั้น หากคุณพยายามกำหนดประเภทข้อมูลที่ไม่ถูกต้อง จะทำให้เกิดข้อผิดพลาดร้ายแรง ในกรณีที่มีการประกาศประเภทที่เข้มงวด มิฉะนั้น PHP จะบังคับกำหนดค่าให้กับประเภทที่เหมาะสม

กิจกรรม

แหล่งที่มา

แกะภายในอาร์เรย์

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

ด้วยการเปิดตัว PHP 7.4 นักพัฒนา PHP สามารถแกะอาร์เรย์ด้วยอาร์เรย์ได้ นี้จะต้องเร็วกว่า array_merge () เหตุผลก็คือการมีตัวดำเนินการการแพร่กระจาย (….) ซึ่งเป็นโครงสร้างภาษาแทนที่จะเป็นฟังก์ชัน

นี่คือตัวอย่างของการฉีดอาร์เรย์ของสองสีภายในอาร์เรย์ขนาดใหญ่ของสี

แกะภายในอาร์เรย์

แหล่งที่มา

Null Coalescing ผู้ดำเนินการมอบหมายงาน

ช่วยในการกำจัดความซ้ำซ้อนของรหัสสำหรับตัวดำเนินการเฉพาะ เป็นวิธีที่ง่ายในการรวมการ ตรวจสอบ isset () กับโอเปอเรเตอร์แบบไตรภาค

มาดูตัวอย่างที่จะแสดงวิธีการกลั่นกรอง ตัวแปร $product id กรณีตั้งไว้ก็ไม่ต้องทำอะไร มิฉะนั้น เราขอแนะนำให้คุณกำหนดค่าทางด้านขวา มีการเติบโตอย่างมากในวิธีการพัฒนาโค้ดระหว่างเวอร์ชัน PHP ตอนนี้ ด้วย PHP 7.4 มันง่ายกว่ามากในการเขียน

Null Coalescing ผู้ดำเนินการมอบหมายงาน

แหล่งที่มา

การสนับสนุนสำหรับการอ้างอิงที่อ่อนแอ

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

การเลิกใช้

การเลิกใช้งานเป็นประกาศที่เตือนนักพัฒนาว่าคุณลักษณะบางอย่างจะหยุดทำงาน คุณลักษณะบางอย่างที่เลิกใช้แล้วคือ:

Ternary Operator ที่ซ้อนกันโดยไม่มีวงเล็บ

ควรหลีกเลี่ยงผู้ประกอบการ Ternary ที่ซ้อนกันในทุกกรณีในฐานะนักพัฒนา เหตุผลก็คือ แม้ว่าพวกเขาจะปฏิบัติตามและส่งผลให้เกิดความผิดพลาดของมนุษย์ อย่างไรก็ตาม หากไม่มีทางหลีกเลี่ยงได้ อย่างน้อยก็ต้องใช้วงเล็บ PHP 7.4 เลิกใช้ฟีเจอร์นี้โดยไม่ต้องใช้วงเล็บ

ข้อมูลโค้ดยังคงเหมือนเดิม

แหล่งที่มา

การใช้ array_key_exists() บน Objects

เป็นสิ่งสำคัญสำหรับนักพัฒนา PHP ที่จะหลีกเลี่ยงการใช้ array_key_exists กับอ็อบเจ็กต์ เหตุผลก็คือ วัตถุเหล่านี้ไม่ใช่อาร์เรย์ เราขอแนะนำให้คุณใช้ ฟังก์ชันหรือ isset () property_exists() ที่เหมาะสม กว่า

การใช้ array_key_exists() บน Objects

แหล่งที่มา

การเข้าถึงอาร์เรย์และสตริงออฟเซ็ตด้วยวงเล็บปีกกา

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

การเข้าถึงอาร์เรย์และสตริงออฟเซ็ตด้วยวงเล็บปีกกา

แหล่งที่มา

แท็กเปิดสั้น

PHP ได้จัดเตรียมวิธีต่างๆ ในการระบุการเริ่มต้นของโค้ด PHP ยกเว้น แท็กเปิด <?php….?> มาตรฐาน ใน PHP 7.0 แท็กเปิดเหล่านี้ส่วนใหญ่ถูกยกเลิก อย่างไรก็ตาม ยังมีแท็กเปิดแบบสั้นบางแท็กที่เป็นส่วนหนึ่งของภาพที่ใหญ่ขึ้น

ตอนนี้มาดูข้อมูลโค้ดที่ทำงานภายใต้ PHP short_open_tags:

แท็กเปิดสั้น

แหล่งที่มา

การปรับปรุงประสิทธิภาพ

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

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

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

สรุปความคิด

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