(PHP 5 >= 5.3.0, PHP 7)
PHP支锟斤拷锟斤拷锟街筹拷锟斤拷姆锟斤拷实锟角帮拷锟斤拷锟斤拷占锟斤拷诓锟皆拷氐姆锟斤拷锟斤拷锟�__NAMESPACE__
魔锟斤拷锟斤拷锟斤拷锟斤拷namespace锟截硷拷锟街★拷
锟斤拷锟斤拷__NAMESPACE__
锟斤拷值锟角帮拷锟斤拷锟斤拷前锟斤拷锟斤拷锟秸硷拷锟斤拷锟狡碉拷锟街凤拷锟斤拷锟斤拷锟斤拷全锟街的o拷锟斤拷锟斤拷锟斤拷锟斤拷锟轿猴拷锟斤拷锟斤拷锟秸硷拷锟叫的达拷锟诫,锟斤拷锟斤拷锟斤拷一锟斤拷锟秸碉拷锟街凤拷锟斤拷锟斤拷
Example #1 __NAMESPACE__ 示锟斤拷, 锟斤拷锟斤拷锟斤拷锟秸硷拷锟叫的达拷锟斤拷
<?php
namespace MyProject;
echo '"', __NAMESPACE__, '"'; // 锟斤拷锟� "MyProject"
?>
Example #2 __NAMESPACE__ 示锟斤拷锟斤拷全锟街达拷锟斤拷
<?php
echo '"', __NAMESPACE__, '"'; // 锟斤拷锟� ""
?>
__NAMESPACE__
锟节讹拷态锟斤拷锟斤拷锟斤拷锟斤拷时锟斤拷锟斤拷锟矫o拷锟斤拷锟界:
Example #3 使锟斤拷__NAMESPACE__锟斤拷态锟斤拷锟斤拷锟斤拷锟斤拷
<?php
namespace MyProject;
function get($classname)
{
$a = __NAMESPACE__ . '\\' . $classname;
return new $a;
}
?>
锟截硷拷锟斤拷 namespace 锟斤拷锟斤拷锟斤拷锟斤拷式锟斤拷锟绞碉拷前锟斤拷锟斤拷锟秸硷拷锟斤拷锟斤拷锟斤拷锟斤拷占锟斤拷械锟皆拷亍锟斤拷锟斤拷燃锟斤拷锟斤拷锟斤拷械锟� self 锟斤拷锟斤拷锟斤拷锟斤拷
Example #4 namespace锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟秸硷拷锟叫的达拷锟斤拷
<?php
namespace MyProject;
use blah\blah as mine; // see "Using namespaces: importing/aliasing"
blah\mine(); // calls function MyProject\blah\mine()
namespace\blah\mine(); // calls function MyProject\blah\mine()
namespace\func(); // calls function MyProject\func()
namespace\sub\func(); // calls function MyProject\sub\func()
namespace\cname::method(); // calls static method "method" of class MyProject\cname
$a = new namespace\sub\cname(); // instantiates object of class MyProject\sub\cname
$b = namespace\CONSTANT; // assigns value of constant MyProject\CONSTANT to $b
?>
Example #5 namespace锟斤拷锟斤拷锟斤拷, 全锟街达拷锟斤拷
<?php
namespace\func(); // calls function func()
namespace\sub\func(); // calls function sub\func()
namespace\cname::method(); // calls static method "method" of class cname
$a = new namespace\sub\cname(); // instantiates object of class sub\cname
$b = namespace\CONSTANT; // assigns value of constant CONSTANT to $b
?>