请讲解一下这两句代码:
namespace Home\Controller;
use Think\Controller;
<?php
namespace Home\Controller;
use Think\Controller;
class UserController extends Controller{
}
namespace Home\Controller; namespace命名空间Home目录下Controller use进入Think目录下的Controller
namespace 是定义这个文件的名字空间,当你 requie
或者 include
这个文件想要使用 UserController
这个类的时候,必须这么写:
$userController = new Home\Controller\UserController();
use 的作用是将该名字空间内的变量释放出来,如果你使用了如下代码
use Home\Controller;
那么一下代码和第一句代码的效果是一样的:
$userController = new UserController();
题中代码的 use Think\Controller
是一个道理,就不多表了。使用名字空间的好处是能有效避免变量名冲突的问题,所以在使用use
前需要确保变量名释放后不会造成冲突覆盖。
关于 namespace 的更多概念可查阅手册:http://php.net/manual/zh/language.namespaces.basics.php