解决了多个文件引入后方法相同的问题
例如1.php 有一个类叫class Hello
2.php中也有有一个类叫class Hello
3.php引入后执行3.php报错




namaspace来定义类所在的命名空间
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;

本文详细介绍了如何通过命名空间解决PHP中多个文件引入相同类名导致的冲突问题,包括使用namespace关键字定义类所在的命名空间,以及如何通过use语句导入命名空间中的类、函数和常量。
189

被折叠的 条评论
为什么被折叠?



