PHP จัดเตรียมค่าคงที่ที่กำหนดไว้ล่วงหน้าจำนวนมากให้กับสคริปต์ใดๆ ที่ PHP ทำงาน
อย่างไรก็ตาม ค่าคงที่จำนวนมากถูกกำหนดโดยไลบรารีส่วนขยายที่แตกต่างกัน และจะปรากฏเมื่อมีการโหลดไลบรารีส่วนขยายเหล่านี้เท่านั้น ไม่ว่าจะโหลดแบบไดนามิกหรือรวมไว้ ณ เวลาคอมไพล์
มีค่าคงที่เวทย์มนตร์แปดค่าซึ่งค่าจะเปลี่ยนไปตามตำแหน่งในโค้ด
ตัวอย่างเช่น ค่าของ __LINE__ ขึ้นอยู่กับบรรทัดที่อยู่ในสคริปต์ ค่าคงที่พิเศษเหล่านี้ไม่คำนึงถึงขนาดตัวพิมพ์และมีดังต่อไปนี้:
หมายเลขบรรทัดปัจจุบันในไฟล์
<?php เสียงสะท้อน ' นี่ คือ หมายเลข บรรทัด " ' . __LINE__ . ' " ;
ผลลัพธ์ที่ได้ของตัวอย่างข้างต้นคือ:
นี่คือบรรทัด "2"
เส้นทางแบบเต็มและชื่อไฟล์ของไฟล์ หากใช้ภายในไฟล์ที่รวมไว้ จะส่งกลับชื่อของไฟล์ที่รวมไว้
ตั้งแต่ PHP 4.0.2 เป็นต้นมา __FILE__ จะมีเส้นทางที่แน่นอนเสมอ (หรือเส้นทางสัมบูรณ์ที่แก้ไขแล้วในกรณีของลิงก์สัญลักษณ์) ในขณะที่เวอร์ชันก่อนหน้านั้นบางครั้งอาจมีเส้นทางสัมพัทธ์
ตัวอย่าง:
<?php เสียงสะท้อน ' ไฟล์อยู่ที่ " ' . __FILE__ . ' " ' ;
ผลลัพธ์ที่ได้ของตัวอย่างข้างต้นคือ:
ไฟล์อยู่ที่ "E:wampwwwtestindex.php"
ไดเร็กทอรีที่มีไฟล์อยู่ หากใช้ภายในไฟล์ที่รวมไว้ จะส่งคืนไดเร็กทอรีที่มีไฟล์ที่รวมอยู่
มันเทียบเท่ากับ dirname(__FILE__) ชื่อไดเร็กทอรีไม่รวมเครื่องหมายสแลชต่อท้าย เว้นแต่จะเป็นไดเร็กทอรีราก (ใหม่ใน PHP 5.3.0)
<?php เสียงสะท้อน ' ไฟล์อยู่ที่ " ' . __DIR__ . ' " ' ;
ผลลัพธ์ที่ได้ของตัวอย่างข้างต้นคือ:
ไฟล์อยู่ที่ " E:wampwwwtest "
ชื่อฟังก์ชัน (ใหม่ใน PHP 4.3.0) ตั้งแต่ PHP 5 ค่าคงที่นี้จะส่งคืนชื่อของฟังก์ชันเมื่อมีการกำหนด (คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) ใน PHP 4 ค่านี้จะเป็นตัวพิมพ์เล็กเสมอ
<?php การทำงาน ทดสอบ ( ) - เสียงสะท้อน ' ชื่อ ฟังก์ชัน : ' . __FUNCTION__ ; ทดสอบ ( ) ; ?>
ผลลัพธ์ที่ได้ของตัวอย่างข้างต้นคือ:
ชื่อฟังก์ชัน: ทดสอบ
ชื่อของคลาส (ใหม่ใน PHP 4.3.0) ตั้งแต่ PHP 5 ค่าคงที่นี้จะส่งคืนชื่อของคลาสเมื่อมีการกำหนด (คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
ใน PHP 4 ค่านี้จะเป็นตัวพิมพ์เล็กเสมอ ชื่อคลาสรวมถึงขอบเขตที่มีการประกาศ (เช่น FooBar) โปรดทราบว่าเนื่องจาก PHP 5.4 __CLASS__ ใช้งานได้กับคุณลักษณะด้วย เมื่อใช้ภายในเมธอดลักษณะ __CLASS__ จะเป็นชื่อของคลาสที่เรียกเมธอดลักษณะ
<?php ระดับ ทดสอบ - การทำงาน _พิมพ์ ( ) - เสียงสะท้อน ' ชื่อ คลาส : ' . __CLASS__ ' ชื่อฟังก์ชัน : ' . __FUNCTION__ ; - $t = ใหม่ ทดสอบ ( ) ; $t - > _print ( ) ;
ผลลัพธ์ที่ได้ของตัวอย่างข้างต้นคือ:
ชื่อคลาส: ทดสอบชื่อฟังก์ชัน: _print
ชื่อของลักษณะ (ใหม่ใน PHP 5.4.0) ตั้งแต่ PHP 5.4.0 เป็นต้นมา PHP ได้นำวิธีการนำโค้ดกลับมาใช้ใหม่ที่เรียกว่าคุณลักษณะ
ชื่อลักษณะจะรวมขอบเขตที่มีการประกาศไว้ (เช่น FooBar)
สมาชิกที่สืบทอดมาจากคลาสพื้นฐานจะถูกแทนที่โดยเมธอด MyHelloWorld ในลักษณะ SayWorld ที่แทรกไว้ ลักษณะการทำงานสอดคล้องกับวิธีการที่กำหนดไว้ในคลาส MyHelloWorld ลำดับความสำคัญคือเมธอดในคลาสปัจจุบันจะแทนที่เมธอดลักษณะ ซึ่งจะแทนที่เมธอดในคลาสฐาน
<?php ระดับ ฐาน - สาธารณะ การทำงาน กล่าวสวัสดี ( ) - เสียงสะท้อน ' สวัสดี ' ; } - ลักษณะ เซย์เวิลด์ - สาธารณะ การทำงาน กล่าวสวัสดี ( ) - ผู้ ปกครอง :: sayHello ( ) ; ' โลก! ' ; } - ระดับ มายเฮลโลเวิลด์ ขยาย ฐาน - ใช้ เซ ย์เวิลด์ ; $o = ใหม่ MyHelloWorld ( ) ; $o -> พูด สวัสดี ( ) ;
รูทีนข้างต้นจะส่งออก:
สวัสดีชาวโลก!
ชื่อวิธีการของคลาส (ใหม่ใน PHP 5.0.0) ส่งกลับชื่อของวิธีการตามที่กำหนดไว้ (คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
ตัวอย่าง:
<?php การทำงาน ทดสอบ ( ) - เสียงสะท้อน ' ชื่อ ฟังก์ชัน : ' __METHOD__ ; ทดสอบ ( ) ; ?>
ผลลัพธ์ที่ได้ของตัวอย่างข้างต้นคือ:
ชื่อฟังก์ชัน: ทดสอบ
ชื่อของเนมสเปซปัจจุบัน (คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่) ค่าคงที่นี้ถูกกำหนดไว้ ณ เวลารวบรวม (ใหม่ใน PHP 5.3.0)
ตัวอย่าง:
<?php เนมสเปซ โปร เจ็กต์ ของฉัน ; ' เนมสเปซคือ: " , __NAMESPACE__ , ' " ' ; // เอาต์พุต "MyProject" -
ผลลัพธ์ที่ได้ของตัวอย่างข้างต้นคือ:
เนมสเปซคือ: "MyProject"