แนะนำตัว
คลาส ฟังก์ชัน หรือค่าคงที่ในเนมสเปซสามารถใช้ได้ดังนี้:
- การใช้คลาสในเนมสเปซปัจจุบัน
- การระบุเนมสเปซที่สัมพันธ์กับเนมสเปซปัจจุบัน
- การตั้งชื่อแบบเต็มของเนมสเปซ
จากเนมสเปซปัจจุบัน
ในตัวอย่างนี้ เนมสเปซถูกโหลดจาก test1.php ฟังก์ชันหรือชื่อคลาสที่อ้างถึงโดยไม่มีเนมสเปซเข้าถึงชื่อที่อยู่ในเนมสเปซปัจจุบัน
ตัวอย่าง
#test1.php <?php namespace myspace\space1; const MAX = 100; function hello() {echo "hello in space1\n";} class myclass{ static function hellomethod() {echo "hello in space1\n";} } ?>
ใช้ไฟล์นี้ในโค้ดต่อไปนี้
ตัวอย่าง
<?php namespace myspace; include 'test1.php'; const MAX = 200; function hello() {echo "hello in myspace\n";} class myclass{ static function hellomethod() {echo "hello in myspace\n";} } hello(); myclass::hellomethod(); echo MAX; ?>
ผลลัพธ์
hello in myspace hello in myspace 200
การใช้เนมสเปซสัมพัทธ์
ในตัวอย่างต่อไปนี้ ฟังก์ชันและคลาสถูกเข้าถึงด้วยเนมสเปซสัมพัทธ์
ตัวอย่าง
<?php namespace myspace; include 'test1.php'; const MAX = 200; function hello() {echo "hello in myspace\n";} class myclass{ static function hellomethod() {echo "hello in myspace\n";} } space1\hello(); space1\myclass::hellomethod(); echo space1\MAX; ?>
ผลลัพธ์
รหัสด้านบนแสดงผลลัพธ์ต่อไปนี้
hello in space1 hello in space1 100
เนมสเปซที่มีคุณสมบัติครบถ้วน
ฟังก์ชันและคลาสจะได้รับชื่อเนมสเปซที่แน่นอน
ตัวอย่าง
<?php namespace myspace; include 'test1.php'; const MAX = 200; function hello() {echo "hello in myspace\n";} class myclass{ static function hellomethod() {echo "hello in myspace\n";} } \myspace\hello(); \myspace\space1\hello(); \myspace\myclass::hellomethod(); \myspace\space1\myclass::hellomethod(); echo \myspace\MAX . "\n"; echo \myspace\space1\MAX; ?>
ผลลัพธ์
รหัสด้านบนแสดงผลลัพธ์ต่อไปนี้
hello in myspace hello in space1 hello in myspace hello in space1 200 100