//global.php 无命名空间
class Lister
{
public static function test()
{
echo "from global \n";
}
}
//my.php
namespace my;
require_once 'product.php';
class Lister
{
public static function test()
{
echo "from " . __NAMESPACE__."\n";
}
}
Lister::test(); //访问本地 from my
\Lister::test(); //访问全局空间 from global
前导的反斜杠告诉PHP从根命名空间而不是从当前命名空间开始搜索,使用单个反斜杠限定的名称将访问全局空间中的类
require()和include()都是语句,而不是函数,因此可以省略括号。两者的不同在于它们如何处理错误。
require()调用文件发生错误时,将会停止整个程序
include()调用文件发生错误时,会生成警告并且停止执行文件,跳出调用代码继续执行。
require()和require_once()用于包含库文件更加安全,因为访问文件出错时,会报告致命错误并停止整个脚本的执行,行为更加激烈,因此更加安全
include()和include_once()则适合用户加载模板
require_once()只能在文件没有包含的情况下才能包含它。这种只使用一次的方法在访问库代码的时候特别有用,
防止了类和方法的重复定义。相比于require()需要额外的开销。想要尽可能的减少系统执行时间,应该考虑用require()