Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

คีย์เวิร์ดเนมสเปซ PHP และค่าคงที่ __NAMESPACE__


แนะนำตัว

ใน 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