摘要:常量__NAMESPACE__的值是當(dāng)前命名空間名稱的字符串。在全局中不包括在任何命名空間中的代碼,它包含一個空的字符串。在命名空間中的代碼:<?php namespace MyProject; echo '"', __NAMESPACE__
常量__NAMESPACE__的值是當(dāng)前命名空間名稱的字符串。在全局中不包括在任何命名空間中的代碼,它包含一個空的字符串。
在命名空間中的代碼:
<?php namespace MyProject; echo '"', __NAMESPACE__, '"'; // 輸出 "MyProject"
全局代碼:
<?php echo '"', __NAMESPACE__, '"'; // 輸出 ""
動態(tài)創(chuàng)建名稱:
<?php namespace MyProject; function get($classname) { $a = __NAMESPACE__ . '\\' . $classname; return new $a; }
關(guān)鍵字 namespace 可用來顯式訪問當(dāng)前命名空間或子命名空間中的元素。它等價于類中的 self 操作符。
命名空間中的代碼:
<?php namespace MyProject; use blah\blah as mine; //命名空間別名(參考:使用命名空間別名和導(dǎo)入) blah\mine(); // 調(diào)用函數(shù) blah\blah\mine() namespace\blah\mine(); // 調(diào)用函數(shù) MyProject\blah\mine() namespace\func(); // 調(diào)用函數(shù) MyProject\func() namespace\sub\func(); // 調(diào)用函數(shù) MyProject\sub\func() namespace\cname::method(); // 調(diào)用類 MyProject\cname 的靜態(tài)方法"method" $a = new namespace\sub\cname(); // 實例化類MyProject\sub\cname的對象 $b = namespace\CONSTANT; // 將常量 MyProject\CONSTANT 的值賦給 $b
全局代碼:
<?php namespace\func(); // 調(diào)用函數(shù) func() namespace\sub\func(); // 調(diào)用函數(shù) sub\func() namespace\cname::method(); // 調(diào)用類cname的靜態(tài)方法"method" $a = new namespace\sub\cname(); // 實例化sub\cname類對象 $b = namespace\CONSTANT; // 將常量 CONSTANT 的值賦給 $b
批改老師:查無此人批改時間:2019-04-17 13:53:50
老師總結(jié):完成的不錯。命名空間現(xiàn)在很常用,要多練習(xí),跟上時代的腳步,繼續(xù)加油。