แนะนำตัว
ในโค้ด PHP ลักษณะของเนมสเปซได้รับการแก้ไขตามกฎต่อไปนี้ -
-
ตัวระบุเนมสเปซที่ไม่มีสัญลักษณ์คั่นเนมสเปซ (/ ) หมายความว่ามันอ้างถึงเนมสเปซปัจจุบัน นี่เป็นชื่อที่ไม่เหมาะสม
-
หากมีสัญลักษณ์คั่นเช่นใน myspace\space1 จะแก้ไขเป็นเนมสเปซย่อย space1 ภายใต้ myspace การตั้งชื่อประเภทนี้เป็นเนมสเปซสัมพัทธ์
-
ชื่อของเนมสเปซแบบเต็มเริ่มต้นด้วยอักขระ \ ตัวอย่างเช่น \myspace หรือ \myspace\space1 .
-
ชื่อที่ผ่านการรับรองโดยสมบูรณ์จะแก้ไขเป็นเนมสเปซแบบสัมบูรณ์ ตัวอย่างเช่น \myspace\space1 แก้ไขเป็น myspace\space1 เนมสเปซ
-
หากชื่อเกิดขึ้นในเนมสเปซส่วนกลาง เนมสเปซ คำนำหน้าจะถูกลบออก ตัวอย่างเช่น เนมสเปซ\space1 แก้ไขเป็น space1 .
-
อย่างไรก็ตาม หากเกิดขึ้นภายในเนมสเปซอื่น จะถือว่าแตกต่างออกไป ตัวอย่างเช่น ถ้า namespace\space1 อยู่ใน myspace เทียบเท่ากับ myspace\space1
-
ส่วนแรกของชื่อในชื่อที่ผ่านการรับรองจะถูกแปลตามตารางการนำเข้าคลาส/เนมสเปซปัจจุบัน
-
หากไม่มีกฎการนำเข้า เนมสเปซปัจจุบันจะถูกนำหน้าชื่อ
-
ชื่อที่คล้ายกับคลาสจะถูกแปลตามตารางการนำเข้าคลาส/เนมสเปซ ชื่อฟังก์ชันตามตารางการนำเข้าฟังก์ชัน และค่าคงที่ตามตารางการนำเข้าคงที่
-
สำหรับชื่อที่ไม่ผ่านการรับรอง ถ้าไม่มีกฎการนำเข้าและชื่อนั้นอ้างอิงถึงฟังก์ชันหรือค่าคงที่ และโค้ดอยู่นอกเนมสเปซส่วนกลาง ชื่อจะได้รับการแก้ไขในขณะใช้งานจริง ขั้นแรก ค้นหาฟังก์ชันจากเนมสเปซปัจจุบัน จากนั้นจึงพยายามค้นหาและเรียกใช้ฟังก์ชันส่วนกลาง