Computer >> Máy Tính >  >> Lập trình >> PHP

PHP Sử dụng không gian tên

Giới thiệu

Lớp, hàm hoặc hằng số trong không gian tên có thể được sử dụng theo những cách sau:

  • Sử dụng một lớp trong không gian tên hiện tại
  • chỉ định một vùng tên liên quan đến vùng tên hiện tại
  • đặt tên vùng tên đầy đủ đủ điều kiện

Từ không gian tên hiện tại

Trong ví dụ này, một không gian tên được tải từ test1.php. Tên lớp hoặc hàm được tham chiếu mà không có vùng tên sẽ truy cập những tên trong vùng tên hiện tại

Ví dụ

#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";}
}
?>

Sử dụng tệp này trong mã sau

Ví dụ

<?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;
?>

Đầu ra

hello in myspace
hello in myspace
200

Sử dụng không gian tên tương đối

Trong ví dụ sau, hàm và lớp được tích hợp với không gian tên tương đối

Ví dụ

<?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;
?>

Đầu ra

Đoạn mã trên hiển thị kết quả sau

hello in space1
hello in space1
100

Không gian tên hoàn toàn đủ điều kiện

Các hàm và lớp được đặt tên không gian tên tuyệt đối

Ví dụ

<?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;
?>

Đầu ra

Đoạn mã trên hiển thị kết quả sau

hello in myspace
hello in space1
hello in myspace
hello in space1
200
100