PHP物件導向之命名空間

2022-07-11 01:30:18 字數 2490 閱讀 8831

<?php

namespace china;

function getinfo()

namespace usa;

function getinfo()

getinfo(); //i am a america

\usa\getinfo(); //i am a america

\china\getinfo(); //我是中國人

?>

如果將相對路徑轉成絕對路徑

公共空間+命名空間+空間元素

公共空間 命名空間 空間元素

\ china\shanghai\pudong\ student

<?php

namespace china\jiangsu\nanjing;

class student

}namespace usa\washington;

class student

}$stu1= new student(); //相對路徑

$stu2= new \china\jiangsu\nanjing\student(); //絕對路徑

$stu3= new \usa\washington\student(); //絕對路徑

?>

<?php

namespace china\jiangsu\nanjing;

function getinfo()

namespace china\jiangsu;

function getinfo()

getinfo(); //非限定名稱訪問 江蘇...

\china\jiangsu\getinfo(); //完全限定名稱訪問 江蘇...

nanjing\getinfo(); //限定名稱訪問 南京...

\china\jiangsu\nanjing\getinfo(); //轉成絕對路徑 南京...

?>

語法

<?php

namespace china\jiangsu\nanjing;

function getinfo()

namespace usa;

function getinfo()

use china\jiangsu\nanjing;

getinfo(); //江蘇...

nanjing\getinfo(); //興化...

?>

<?php

namespace china\jiangsu\nanjing;

class student

function getinfo()

const type='學生';

namespace usa;

use china\jiangsu\nanjing\student; //引入類

use function china\jiangsu\nanjing\getinfo; //引入函式

use const china\jiangsu\nanjing\type; //引入常量

//測試

$stu= new student;

var_dump($stu);

echo '

';getinfo();

echo type;

usa\getinfo(); //call to undefined function usa\usa\getinfo()

?>

<?php

namespace china\jiangsu\nanjing;

class student

function getinfo()

namespace usa\washington;

class student

function getinfo()

//引入類取別名

use china\jiangsu\nanjing\student as chinastudent;

//引入函式

use function china\jiangsu\nanjing\getinfo as info1;

//測試

$stu= new chinastudent;

var_dump($stu);

getinfo(); // 白皮豬

info1(); // 中國人

?>

<?php

function getinfo()

\getinfo();

?>

包含檔案不影響當前的命名空間

PHP學習 30 PHP物件導向 命名空間

namespace spacea const title 我在網上學習php function multi n,m class staff public function get name public function set name,value namespace spaceb const t...

《php物件導向》 第15課 命名空間

命名空間是在php5.3版本以加入的。命名空間乙個最明確的目的就是解決重名問題,php中不允許兩個函式或者類出現相同的名字,否則會產生乙個致命的錯誤。預設情況下,所有常量 類和函式名都放在全域性空間下,就和php支援命名空間之前一樣。命名空間通過關鍵字namespace 來宣告。如果乙個檔案中包含命...

c 物件導向(二) 命名空間

命名空間,就是把類再歸類。在.net中已經定義了很多類,並存放在命名空間system中,比如以下的命名空間 畫圖的類 system.drawing 文字操作的類 system.io 當然,我們也可以自己定義命名空間,然後將自己寫的類放進去 命名空間的定義 關鍵字namespace 例 定義乙個命名空...