namespase与use 个人理解

噢-我想多了 发布于 2016/10/09 15:03
阅读 166
收藏 1
namespace:命名空间 ,相当于一个房间;
假设:现在又两个类,类A、类B,需要将这两个类入
/./A.php:
namespace app\index\controller
class A{}

/./B.php:
namespace app\index\Module
class B{}

如果要在 类A中使用类B ,可以这样使用:
第一种:
/./B.php:
namespace app\index\Module

use app\index\Module\A

class B{

public function index()
{
//可以直接new 无需再次进行 require或者include
$a = new A();
}
}
第二种:给类A取一个别名

/./B.php:
namespace app\index\Module

use app\index\Module\A as aa

class B{

public function index()
{
//可以直接new 无需再次进行 require或者include
$a = new aa();
}
}

总结:命名空间相当于房间,类相当于房间里面的物品(namespace作用是声明一个房间,并将某个物品放到这个房间中)。如果你需要在一个房间中使用另一房间的物品,需要通过use 将另一个房间的物品拿到目标房间来,就可以直接使用了;

个人拙见,不喜勿喷~~

加载中
返回顶部
顶部