แนะนำตัว
ใน PHP คำหลักเนมสเปซใช้เพื่อกำหนดเนมสเปซ นอกจากนี้ยังใช้เป็นโอเปอเรเตอร์เพื่อขอเข้าถึงองค์ประกอบบางอย่างในเนมสเปซปัจจุบัน __NAMESPACE__ ส่งคืนค่าเนมสเปซปัจจุบันคงที่
__NAMESPACE ค่าคงที่
จากเนมสเปซที่มีชื่อ __NAMESPACE__ จะส่งคืนชื่อ สำหรับเนมสเปซส่วนกลางและที่ไม่มีชื่อ จะส่งคืนสตริงว่าง
ตัวอย่าง
#test1.php <?php echo "name of global namespace : " . __NAMESPACE__ . "\n"; ?>
ผลลัพธ์
สตริงว่างถูกส่งกลับ
name of global namespace :
สำหรับเนมสเปซที่มีชื่อ ระบบจะส่งคืนชื่อ
ตัวอย่าง
<?php namespace myspace; echo "name of current namespace : " . __NAMESPACE__ . "\n"; ?>
ผลลัพธ์
name of current namespace : myspace
การสร้างชื่อแบบไดนามิก
__NAMESPACE__ มีประโยชน์สำหรับการสร้างชื่อแบบไดนามิก
ตัวอย่าง
<?php namespace MyProject; class myclass { function hello(){echo "hello world";} }; $cls="myclass"; function get($cls){ $a = __NAMESPACE__ . '\\' . $cls; return new $a; } get($cls)->hello(); ?>. ใหม่
ผลลัพธ์
รหัสด้านบนแสดงผลลัพธ์ต่อไปนี้
hello World
ตัวดำเนินการเนมสเปซ
คำหลักเนมสเปซสามารถใช้เป็น ตนเอง . ได้ โอเปอเรเตอร์สำหรับคลาสเพื่อขอองค์ประกอบจากเนมสเปซปัจจุบันหรือเนมสเปซย่อยอย่างชัดเจน
ตัวอย่าง
<?php namespace Myspace; class myclass { function hello(){echo "hello Myspace";} } $a = new namespace\myclass(); $a->hello(); ?>
ผลลัพธ์
รหัสด้านบนแสดงผลลัพธ์ต่อไปนี้
hello Myspace
จากเนมสเปซส่วนกลาง ตัวดำเนินการเนมสเปซหมายถึงฟังก์ชัน/คลาสในเนมสเปซปัจจุบันซึ่งเป็นเนมสเปซส่วนกลาง
ตัวอย่าง
<?php class myclass { function hello(){echo "hello global space";} } $a = new namespace\myclass(); $a->hello(); ?>
ผลลัพธ์
รหัสด้านบนแสดงผลลัพธ์ต่อไปนี้
hello global space