แนะนำตัว
สามารถกำหนดเนมสเปซได้มากกว่าหนึ่งรายการในไฟล์เดียวที่มีนามสกุล .php มีสองวิธีที่แตกต่างกันที่กำหนดไว้สำหรับวัตถุประสงค์ ไวยากรณ์ผสมและไวยากรณ์วงเล็บ
เนมสเปซหลายรายการพร้อมไวยากรณ์ผสม
ในตัวอย่างนี้ มีการกำหนดเนมสเปซสองรายการไว้ด้านล่างอีกรายการหนึ่ง ทรัพยากรในเนมสเปซแรกจะพร้อมใช้งานจนกว่าคำจำกัดความที่สองจะเริ่มต้น หากคุณต้องการสร้างเนมสเปซเป็นปัจจุบัน ให้โหลดโดยใช้คีย์เวิร์ด use
ตัวอย่าง
<?php
namespace myspace1;
function hello() {
echo "Hello World from space1\n";
}
echo "myspace1 : ";
hello();
namespace myspace\space2;
function hello(){
echo "Hello World from space2\n";
}
echo "myspace2 : ";
hello();
use myspace1;
hello();
use myspace2;
hello();
?> ผลลัพธ์
รหัสด้านบนแสดงผลลัพธ์ต่อไปนี้
myspace1 : Hello World from space1 myspace2 : Hello World from space2 Hello World from space2 Hello World from space2
เนมสเปซหลายรายการพร้อมไวยากรณ์วงเล็บ
ในตัวอย่างต่อไปนี้ เนมสเปซสองรายการถูกกำหนดด้วยขอบเขตที่ทำเครื่องหมายด้วยวงเล็บปีกกา
ตัวอย่าง
<?php
namespace myspace1{
function hello() {
echo "Hello World from space1\n";
}
echo "myspace1 : ";
hello();
}
namespace myspace\space2{
function hello(){
echo "Hello World from space2\n";
}
echo "myspace2 : ";
hello();
}
?> ผลลัพธ์
รหัสด้านบนแสดงผลลัพธ์ต่อไปนี้
myspace1 : Hello World from space1 myspace2 : Hello World from space2
แนะนำให้ใช้ไวยากรณ์วงเล็บสำหรับเนมสเปซหลายรายการบนไวยากรณ์ที่รวมกัน เนมสเปซที่มีวงเล็บและไม่ได้แบร็กเก็ตผสมกันไม่ได้ ยกเว้นคำสั่งเปิด, ไม่มีโค้ด PHP อื่นใดอยู่นอกวงเล็บเนมสเปซ หากคุณต้องผสมเนมสเปซส่วนกลางกับเนมสเปซที่มีชื่อ จะอนุญาตเฉพาะไวยากรณ์ในวงเล็บเท่านั้น