解决了多个文件引入后方法相同的问题
例如1.php 有一个类叫class Hello
2.php中也有有一个类叫class Hello
3.php引入后执行3.php报错
namaspace来定义类所在的命名空间
扫描二维码关注公众号,回复:
3857291 查看本文章
1.php 改造
namespace venter; //venter目录 class Hello{ }
2.php改造
namespace venter\session; //venter下session目录 class Hello{ }
3.php
include '1.php'; include '2.php'; var_dump(new venter\Hello()); var_dump(new venter\session\Hello());
受命名空间影响的有
类(抽象类,traits),接口 函数 常量
use venter\Hello;//导入命名空间的当前类
use venter\session\Hello as Hello2;//给个别名 避免冲突
var_dump(new Hello());
var_dump(new Hello2());
use function venter\hi;
use function venter\session\hi as hi2;
hi();
hi2();
use const venter\YM;
echo YM;