在没有任何命名空间定义的情况下,所有类,函数等定义都放置在全局命名空间中。如果名称以 \开头,则意味着即使在命名空间的上下文中,全局空间也需要该名称。
<?
namespace test;
/* This function istest\fopen */
function fopen() {
/* ... */
$f = \fopen(...); // call global fopen
return $f;
}
?>包含的文件将默认为全局命名空间。
#test1.php <?php echo __NAMESPACE__ . "\n"; ?>
这将打印空字符串
当此文件包含在另一个命名空间中时
#test2.php
<?php
namespace testspace {
include 'test1.php';
echo __NAMESPACE__ . "\n";
}
?>输出结果
这将打印以下输出
testspace