PHP的命名空间
简介:
防止名称冲突。
原理:
类似文件目录/usr/local这样的。
用法:
namespace:定义命名空间;
use:取别名;
代码示例:
file 1.php
<?php namespace foo; function test1(){ echo "namespace...."; } ?>
file 2.php
<?php include '1.php'; use foo as a; a\test1(); ?>
注意:如果用use foo,但是后面没有取别名as a,则会出现错误提示:Warning: The use statement with non-compound name 'foo' has no effect in。
再看一个例子:
1.php
<?php namespace app\fruit; class apple{ function eat(){ echo "eat...."; } function play(){ echo "play...."; } } function test(){ echo "test..."; } ?>
2.php
<?php /* * 必须把1.php文件包含进来 * 否则出错:Fatal error: Call to undefined function app\fruit\test() in * D:\wamp\www\test\2.php on line 9 */ include '1.php'; use app\fruit as a;//用use来取别名 a\test(); //调用1.php里的一个方法 $a = new a\apple(); //实例化1.php里的一个对象 $a->eat(); ?>
注意:如果2.php文件里不包含1.php(include '1.php')则会找不到1.php里定义的方法或者类。