(PHP 5 >= 5.3.0, PHP 7)
锟斤拷锟斤拷锟斤拷锟斤拷锟绞癸拷锟斤拷锟斤拷锟斤拷占锟街帮拷锟斤拷锟斤拷锟斤拷私锟� PHP 锟斤拷锟斤拷锟街拷锟揭癸拷锟斤拷锟揭伙拷锟斤拷锟斤拷锟斤拷占锟斤拷械锟皆拷氐摹锟斤拷锟斤拷越锟� PHP 锟斤拷锟斤拷锟秸硷拷锟斤拷锟侥硷拷系统锟斤拷一锟斤拷锟津单碉拷锟斤拷取锟斤拷锟斤拷募锟较低筹拷蟹锟斤拷锟揭伙拷锟斤拷募锟斤拷锟斤拷锟斤拷址锟绞斤拷锟�
锟斤拷锟斤拷锟斤拷一锟斤拷使锟斤拷锟斤拷锟斤拷锟街凤拷式锟斤拷实锟斤拷锟斤拷
file1.php
<?php
namespace Foo\Bar\subnamespace;
const FOO = 1;
function foo() {}
class foo
{
static function staticmethod() {}
}
?>
file2.php
<?php
namespace Foo\Bar;
include 'file1.php';
const FOO = 2;
function foo() {}
class foo
{
static function staticmethod() {}
}
/* 锟斤拷锟睫讹拷锟斤拷锟斤拷 */
foo(); // 锟斤拷锟斤拷为 Foo\Bar\foo resolves to function Foo\Bar\foo
foo::staticmethod(); // 锟斤拷锟斤拷为锟斤拷 Foo\Bar\foo锟侥撅拷态锟斤拷锟斤拷staticmethod锟斤拷resolves to class Foo\Bar\foo, method staticmethod
echo FOO; // resolves to constant Foo\Bar\FOO
/* 锟睫讹拷锟斤拷锟斤拷 */
subnamespace\foo(); // 锟斤拷锟斤拷为锟斤拷锟斤拷 Foo\Bar\subnamespace\foo
subnamespace\foo::staticmethod(); // 锟斤拷锟斤拷为锟斤拷 Foo\Bar\subnamespace\foo,
// 锟皆硷拷锟斤拷姆锟斤拷锟� staticmethod
echo subnamespace\FOO; // 锟斤拷锟斤拷为锟斤拷锟斤拷 Foo\Bar\subnamespace\FOO
/* 锟斤拷全锟睫讹拷锟斤拷锟斤拷 */
\Foo\Bar\foo(); // 锟斤拷锟斤拷为锟斤拷锟斤拷 Foo\Bar\foo
\Foo\Bar\foo::staticmethod(); // 锟斤拷锟斤拷为锟斤拷 Foo\Bar\foo, 锟皆硷拷锟斤拷姆锟斤拷锟� staticmethod
echo \Foo\Bar\FOO; // 锟斤拷锟斤拷为锟斤拷锟斤拷 Foo\Bar\FOO
?>
注锟斤拷锟斤拷锟斤拷锟斤拷锟饺拷锟斤拷唷拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟绞癸拷锟斤拷锟饺拷薅锟斤拷锟斤拷疲锟斤拷锟斤拷锟� \strlen() 锟斤拷 \Exception 锟斤拷 \INI_ALL锟斤拷
Example #1 锟斤拷锟斤拷锟斤拷锟秸硷拷锟节诧拷锟斤拷锟斤拷全锟斤拷锟洁、锟斤拷锟斤拷锟酵筹拷锟斤拷
<?php
namespace Foo;
function strlen() {}
const INI_ALL = 3;
class Exception {}
$a = \strlen('hi'); // 锟斤拷锟斤拷全锟街猴拷锟斤拷strlen
$b = \INI_ALL; // 锟斤拷锟斤拷全锟街筹拷锟斤拷 INI_ALL
$c = new \Exception('error'); // 实锟斤拷锟斤拷全锟斤拷锟斤拷 Exception
?>