แนะนำตัว
สามารถกำหนดเนมสเปซได้มากกว่าหนึ่งรายการในไฟล์เดียวที่มีนามสกุล .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 อื่นใดอยู่นอกวงเล็บเนมสเปซ หากคุณต้องผสมเนมสเปซส่วนกลางกับเนมสเปซที่มีชื่อ จะอนุญาตเฉพาะไวยากรณ์ในวงเล็บเท่านั้น