ในบทความนี้เราจะเจาะลึกเกี่ยวกับ PHP พิมพ์คำใบ้ ความสามารถและสำรวจทั้งสองอย่าง อ่อนแอ และ คำใบ้ประเภทที่เข้มงวด .
PHP Type Hinting คืออะไร?
พิมพ์คำใบ้ ทำหน้าที่เป็นคำศัพท์การเขียนโปรแกรมที่อนุญาตให้คุณระบุประเภทข้อมูลของอาร์กิวเมนต์ที่คาดหวังในฟังก์ชัน ตัวอย่างเช่น เมื่อเขียน 'เพิ่ม' ฟังก์ชัน คุณสามารถระบุว่าพารามิเตอร์ควรเป็นจำนวนเต็ม หากคุณเรียกใช้ฟังก์ชันด้วยสิ่งอื่นที่ไม่ใช่จำนวนเต็ม จะเกิดข้อผิดพลาดโดยระบุว่าต้องใช้จำนวนเต็ม PHP เสนอคำแนะนำสองประเภทสำหรับการประกาศประเภทสเกลาร์และส่งคืน:
การบอกใบ้แบบอ่อนแอคืออะไร?
คำใบ้ประเภทอ่อนแอ เป็นโหมดเริ่มต้นของการทำงานสำหรับ PHP ซึ่งไม่ก่อให้เกิดข้อผิดพลาดในกรณีที่ประกาศประเภทไม่ตรงกัน กล่าวอีกนัยหนึ่ง คำใบ้ประเภทอ่อนแอ อนุญาตให้ PHP ดำเนินการโค้ดโดยไม่สร้างข้อผิดพลาด แม้ว่าชนิดข้อมูลของพารามิเตอร์จะไม่ตรงกับประเภทที่ต้องการ
ตัวอย่าง
พิจารณาตัวอย่างที่นำไปใช้ คำใบ้ประเภทอ่อนแอ ใน PHP
$num1 = ยี่สิบ ;
$num2 = 3.16537 ;
การทำงาน หลาย ( ลอย $num1 , นานาชาติ $num2 )
{
กลับ $num1 * $num2 ;
}
เสียงสะท้อน 'ค่าที่คำนวณได้คือ: ' , หลาย ( $num1 , $num2 ) ;
?>
ในโค้ดข้างต้น ฟังก์ชัน หลาย รับสองพารามิเตอร์ $num1 ประเภทลูกลอยและ $num2 เป็นประเภท int แต่ค่าที่ส่งผ่านเป็นอาร์กิวเมนต์เป็นประเภทที่แตกต่างกัน แม้ว่าประเภทจะไม่ตรงกัน แต่โค้ดก็ดำเนินการโดยไม่สร้างข้อผิดพลาดหรือข้อผิดพลาดร้ายแรง ซึ่งเกี่ยวข้องกับคำจำกัดความของ คำใบ้ประเภทอ่อนแอ .
เอาต์พุต
การบอกใบ้แบบเข้มงวดคืออะไร?
คำแนะนำประเภทที่เข้มงวด ใน PHP เป็นโหมดที่บังคับใช้ พิมพ์อย่างเข้มงวด และขว้างก ข้อผิดพลาดร้ายแรง หากการประกาศประเภทไม่ตรงกันเกิดขึ้น ยอมรับเฉพาะตัวแปรของประเภทการประกาศที่แน่นอนเท่านั้น และประเภทอื่นๆ จะส่งผลให้เป็น พิมพ์ผิด .
ใช้ คำใบ้ประเภทที่เข้มงวด คำสั่งแรกในไฟล์ต้องเป็น (เข้มงวด_types=1) มิฉะนั้นจะเกิดข้อผิดพลาดของคอมไพเลอร์ โหมดนี้มีผลกับไฟล์เฉพาะที่ใช้เท่านั้น และไม่สามารถแทนที่ได้ในขณะรันไทม์ เนื่องจากเป็นเวลาคอมไพล์ทั้งหมด
ตัวอย่าง
พิจารณาตัวอย่างที่ใช้การบอกใบ้แบบเข้มงวดใน PHP
ประกาศ ( เข้มงวด_ประเภท = 1 ) ;
$num1 = ยี่สิบ ;
$num2 = 3.16537 ;
การทำงาน หลาย ( ลอย $num1 , นานาชาติ $num2 )
{
กลับ $num1 * $num2 ;
}
เสียงสะท้อน 'ค่าที่คำนวณได้คือ: ' , หลาย ( $num1 , $num2 ) ;
?>
ตัวอย่างข้างต้นเกี่ยวข้องกับ คำใบ้ประเภทที่เข้มงวด เพราะมันรวมถึง “ประกาศ (strict_types=1)” คำสั่งซึ่งเปิดใช้งาน ประเภทที่เข้มงวด ตรวจสอบในไฟล์. การประกาศไม่ตรงกันทุกประเภทจะทำให้เกิดข้อผิดพลาดร้ายแรง
เอาต์พุต
รหัสด้านบนจะทำให้เกิดข้อผิดพลาดเนื่องจากการเข้าถึงค่าทศนิยมโดยใช้ int และการเข้าถึงค่าจำนวนเต็มโดยใช้ประเภทข้อมูลลอย
บทสรุป
พิมพ์คำใบ้ ใน PHP ช่วยให้นักพัฒนาสามารถระบุประเภทข้อมูลของอาร์กิวเมนต์ที่คาดหวังในฟังก์ชันได้ PHP เสนอคำแนะนำสองประเภท: คำใบ้ประเภทอ่อนแอ และ คำใบ้ประเภทที่เข้มงวด . คำใบ้ประเภทอ่อนแอ เป็นโหมดการทำงานเริ่มต้นที่ไม่ก่อให้เกิดข้อผิดพลาดหรือข้อผิดพลาดร้ายแรงในกรณีที่การประกาศประเภทไม่ตรงกัน ในขณะที่ คำใบ้ประเภทที่เข้มงวด บังคับใช้การพิมพ์ที่เข้มงวดและโยนข้อผิดพลาดร้ายแรงหากการประกาศประเภทไม่ตรงกันเกิดขึ้น นักพัฒนาควรเลือกเทคนิคการบอกใบ้ประเภทที่เหมาะสมตามความต้องการเฉพาะของพวกเขา