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

PHP ใช้เนมสเปซ


แนะนำตัว

คลาส ฟังก์ชัน หรือค่าคงที่ในเนมสเปซสามารถใช้ได้ดังนี้:

  • การใช้คลาสในเนมสเปซปัจจุบัน
  • การระบุเนมสเปซที่สัมพันธ์กับเนมสเปซปัจจุบัน
  • การตั้งชื่อแบบเต็มของเนมสเปซ

จากเนมสเปซปัจจุบัน

ในตัวอย่างนี้ เนมสเปซถูกโหลดจาก 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