โฮมเพจ » การเข้ารหัส » PHP 7 10 สิ่งที่คุณต้องรู้

    PHP 7 10 สิ่งที่คุณต้องรู้

    คุณเป็นนักพัฒนาเว็บหรือเจ้าของเว็บไซต์หรือไม่? เว็บไซต์ของคุณทำงานบน CMS ที่เปิดใช้งาน PHP เช่น WordPress, Drupal, Joomla หรือ Magento หรือไม่? ถ้าอย่างนั้นฉันก็มีข่าวดีสำหรับคุณ: เบต้าที่สมบูรณ์ของฟีเจอร์ PHP 7 เพิ่งเปิดตัว. รุ่นใหญ่ 7.0.0 มีคุณสมบัติเจ๋ง ๆ มากมายที่เราตัดสินใจอุทิศโพสต์ทั้งหมด แต่ก่อนอื่นเราต้องเลื่อนในการเตือนไม่กี่.

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

    ลองคิดดู PHP 7 กันก่อน.

    1. ชื่อของ PHP 7 (ไม่ใช่ 6)

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

    เพื่อป้องกันไม่ให้ผู้ใช้สับสนกับความพยายามในอดีตกับการพัฒนาล่าสุดรุ่นใหญ่ใหม่จะทำงานภายใต้ชื่อ PHP 7.

    IMAGE: เวลาในการพัฒนาซอฟต์แวร์

    2. เครื่องยนต์ Zend ใหม่เอี่ยม

    เอ็นจิ้น Zend เปิดตัว PHP ตั้งแต่ปี 2542 เมื่อมีการเปิดตัว PHP 4 รุ่นใหม่ Zend - เพื่อไม่ให้สับสนกับ Zend Framework - เป็นเอ็นจินการดำเนินการโอเพนซอร์ซที่เขียนด้วยภาษา C ซึ่งตีความภาษา PHP PHP 5.X series ปัจจุบันใช้ Zend Engine II ที่ปรับปรุง funtionality ของเอ็นจิ้นเริ่มต้นและเพิ่ม โมเดลวัตถุที่ขยายได้ และ การเพิ่มประสิทธิภาพอย่างมีนัยสำคัญ เพื่อภาษา.

    PHP 7 ได้รับเครื่องยนต์รุ่นใหม่ภายใต้ชื่อรหัสของ PHP # NG (Next Generation).

    ภาพ: การพูดคุยกับ ZendCon-2014

    3. เพิ่มความเร็วเป็นสองเท่า

    ข้อได้เปรียบที่จดจำได้ง่ายที่สุดของเอ็นจิน PHPNG ใหม่คือการปรับปรุงประสิทธิภาพที่สำคัญ ทีมพัฒนาของ PHPNG refactored Zend Engine และการใช้หน่วยความจำที่ดีที่สุดอย่างน่าทึ่ง.

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

    ภาพ: Zend.com

    4. อำนวยความสะดวกในการจัดการข้อผิดพลาด

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

    ใหม่ \ EngineException วัตถุไม่ขยาย \ ข้อยกเว้น ชั้นฐาน สิ่งนี้ทำให้มั่นใจได้ถึงความเข้ากันได้แบบย้อนหลังและส่งผลให้เกิดข้อยกเว้นสองประเภทที่แตกต่างกันในการจัดการข้อผิดพลาด: แบบดั้งเดิม และ ข้อยกเว้นเครื่องยนต์.

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

    ภาพ: Wiki.PHP.net

    5. การสนับสนุนระบบ Windows 64 บิต

    PHP เป็นสมาชิกที่โดดเด่นของ LAMP stack ซึ่งหมายถึงสภาพแวดล้อมดั้งเดิมของมันคือ Linux แต่ก็เป็นไปได้ที่จะเรียกใช้บนระบบ Windows ซีรี่ย์ 5.X ยังไม่ได้ให้การสนับสนุนไฟล์จำนวนเต็ม 64 บิตหรือขนาดใหญ่ดังนั้นจนถึงตอนนี้ x64 บิวด์ได้รับการพิจารณา การทดลอง.

    PHP 7 จะเปลี่ยนแปลงสิ่งนี้เหมือนเดิม แนะนำการรองรับ 64- บิตที่สอดคล้องกัน ซึ่งหมายถึงรองรับทั้งจำนวนเต็ม 64 บิตและไฟล์ขนาดใหญ่ที่เป็นมาตรฐานช่วยให้คุณสามารถรันภาษาบนระบบ Windows 64 บิตของคุณได้อย่างมั่นใจในอนาคต.

    6. ยานอวกาศใหม่และผู้ประกอบการรวมกันเป็นศูนย์

    ผู้ประกอบการยานอวกาศ ทำงานภายใต้ชื่ออย่างเป็นทางการของ Combined Comparator สัญกรณ์ของผู้ประกอบการใหม่มีลักษณะเช่นนี้: <=> (ชนิดของยานอวกาศที่ง่ายขึ้นถ้าคุณคิดถูก).

    ผู้ประกอบการยานอวกาศส่งกลับ 0 ถ้าทั้งสองตัวถูกดำเนินการเท่ากับ 1 ถ้าด้านซ้ายมีค่ามากกว่าและ -1 ถ้าด้านขวามีมากขึ้น มันก็เรียกว่า ตัวดำเนินการเปรียบเทียบสามทาง, และมันมีอยู่แล้วในภาษาการเขียนโปรแกรมยอดนิยมอื่น ๆ เช่น Perl และ Ruby.

    ภาพ: Wiki.PHP.net

    ตัวดำเนินการ Null Coalescing แสดงด้วยเครื่องหมายคำถามสองตัว (??) คุณสามารถใช้มันเมื่อคุณต้องการตรวจสอบว่ามีบางสิ่งอยู่และคืนค่าเริ่มต้นในกรณีที่ไม่มี ผู้ประกอบการรวมกันส่งกลับผลลัพธ์ของตัวถูกดำเนินการแรกถ้ามันมีอยู่และไม่เป็นโมฆะและตัวถูกดำเนินการที่สองในกรณีอื่น ๆ.

    นี่คือวิธีที่ผู้ประกอบการใหม่ลดเวลาที่ใช้ในการประกาศพื้นฐาน:

    ภาพ: Wiki.PHP.net

    7. เปิดใช้งานการประกาศประเภทที่ถูกต้อง

    คุณเคยต้องการที่จะป้องกันค่าตอบแทนที่ไม่ตั้งใจโดยการประกาศประเภทส่งคืนของฟังก์ชั่นหรือไม่? PHP 7 ใหม่ช่วยให้นักพัฒนาสามารถปรับปรุงคุณภาพของรหัสด้วยความช่วยเหลือในการประกาศผลตอบแทนประเภท.

    ภาพด้านล่างแสดงให้เห็นถึงกรณีการใช้งานที่ง่ายมากที่ foo () ฟังก์ชั่นควรจะกลับอาร์เรย์ ดูตัวอย่างที่ซับซ้อนมากขึ้นที่นี่.

    ภาพ: Wiki.PHP.net

    เพื่อปรับปรุงคุณสมบัติให้ดียิ่งขึ้น PHP 7 แนะนำ 4 การประกาศชนิดใหม่สำหรับประเภทสเกลาร์: int, ลอย, สตริง และ บูล. ประเภทสเกลาร์ใหม่ช่วยให้นักพัฒนาสามารถแสดงว่าพวกเขาคาดหวังว่าจะได้รับจำนวนเต็มลอยสตริงหรือ booleans สเกลาร์ประเภทใหม่ที่ได้รับการแนะนำโดย PHP 7 จะได้รับการสนับสนุนโดยอาร์กิวเมนต์ Type Hint ที่ช่วยให้นักพัฒนาสามารถบังคับประเภทของพารามิเตอร์ได้ตั้งแต่ซีรีย์ PHP 5.X.

    8. เพิ่มคลาสที่ไม่ระบุตัวตน

    PHP 7 ช่วยให้คุณสามารถใช้คลาสที่ไม่ระบุชื่อซึ่งเป็นแนวปฏิบัติที่เป็นที่ยอมรับในภาษาเชิงวัตถุอื่น ๆ เช่น C # และ Java คลาสที่ไม่ระบุชื่อเป็นคลาสที่ไม่มีชื่อ วัตถุมัน instantiates มีฟังก์ชั่นเช่นเดียวกับวัตถุของคลาสที่มีชื่อ.

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

    ภาพ: Wiki.PHP.net

    9. อำนวยความสะดวกในการนำเข้าจาก Namespace เดียวกัน

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

    นอกจากนี้ยังง่ายต่อการอ่านและแก้จุดบกพร่องรหัสเนื่องจากการประกาศการใช้กลุ่มช่วยให้คุณระบุการนำเข้าที่เป็นของโมดูลเดียวกัน.

    ภาพ: Wiki.PHP.net

    10. ทำความสะอาดห้อง

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

    รายการที่ถูกลบทั้งหมดถูกเลิกใช้ชั่วคราวใน PHP 5 ดังนั้นส่วนใหญ่คุณจะไม่ได้ใช้มันเป็นเวลานาน อย่างไรก็ตามโปรดทราบว่าคุณมีแอปรุ่นเก่า ทำงานบนเวอร์ชัน PHP รุ่นเก่ากว่า PHP 7 ใหม่สามารถ อาจทำลายรหัส.