1.namespaceZend\Http\PhpEnvironment;这句代码定义了一个命名空间,你可以理解为定义一个名称为Zend\Http\PhpEnvironment的域名。在定义了之后,下面所申明的class,interface,const等都是在申明的这个“域”里面的。当引用一个申明了命名空间的包含文件,想要调用这个里面的东西,那就必须:调整当前脚本也到这个域名里,否则,就得用namesapce的全称。比如,inc.php文件:namespaceZend\Http\PhpEnvironment;classBar{}//定义了一个类则其他文件调用时://访问Foo的第一种方法,用全称require'inc.php';$foo=new\Zend\Http\PhpEnvironment\Bar();//访问Foo的第二种方法namespaceFoo;//调整当前脚本到Foo这个ns域,而且namespace申明必须在第一句require'inc.php';$foo=newBar();2.use关键字目的是使用ns的别名:比如说,上面的//访问Foo的第一种方法,用全称require'inc.php';$foo=new\Zend\Http\PhpEnvironment\Bar();用uses后,写法如下:use\Zend\Http\PhpEnvironmentaspe;//定义别名$foo=new\pe\Bar();//用短的别名来代替原来的如果省略后面的as....,那么,就可以直接用最后一节的文字来代替,比如,上面的:use\Zend\Http\PhpEnvironment;//定义别名$foo=new\PhpEnvironment\Bar();//用短的别名来代替原来的================================================php官方手册中的相关内容:在PHP中,namespace命名空间用来解决在编写类库或应用程序时创建可重用的代码如类或函数时碰到的两类问题:
1.用户编写的代码与PHP内部的类/函数/常量或第三方类/函数/常量之间的名字冲突。
2.为很长的标识符名称(通常是为了缓解第一类问题而定义的)创建一个别名(或简短)的名称,提高源代码的可读性。PHP命名空间提供了一种将相关的类、函数和常量组合到一起的途径。PHP命名空间支持有两种使用别名或导入方式:为类名称使用别名,或为命名空间名称使用别名,别名通过操作符use来实现。
主要有两种写法,方法1如下: