namespace app\index\controller\one;
)和访问方式(文件名.控制器名)(http://serverName/index.php/index/one.blog/index
)(不开自动定位控制器的状况)
新版支持任意层次级别的控制器,而且支持路由,例如:php
namespace app\index\controller\one; use think\Controller; class Blog extends Controller { public function index() { return $this->fetch(); } public function add() { return $this->fetch(); } public function edit($id) { return $this->fetch(); } }
该控制器类的文件位置为:thinkphp
application/index/controller/one/Blog.php
访问地址可使用app
http://serverName/index.php/index/one.blog/index
若是要在路由定义中使用多级控制器,可使用:thinkphp5
\think\Route::get('blog/add','index/one.Blog/add');
若是你使用了多级控制器的话,能够设置controller_auto_search
参数开启自动定位控制器,便于URL访问,例如首先在配置文件中添加:测试
'controller_auto_search' => true,
而后定义控制器以下:fetch
namespace app\index\controller\one; use think\Controller; class Blog extends Controller { public function index() { return $this->fetch(); } public function add() { return $this->fetch(); } public function edit($id) { return $this->fetch('edit:'.$id); } }
咱们就能够直接访问下面的URL地址了:this
http://serverName/index.php/index/one/Blog
解答:就是thinkphp能够在控制器controller文件下再建文件夹。url
application/index/controller/one/Blog.php
解答:让控制器的层次结构更加分明。spa
解答:a、在控制器controller目录下创建文件夹 b、新文件夹下的命名空间要注意。code
namespace app\index\controller\one;
解答:在平常控制器后面加上one。namespace app\index\controller\one;
解答:目录名.控制器名 的形式。 one.blog。 http://serverName/index.php/index/one.blog/index
解答:便于多级控制器的访问,让多级控制器能够按照文件目录访问,而不是 目录名.控制器名 的形式访问。http://serverName/index.php/index/one/Blog。
解答:正确,由于自动定位控制器就是为多级控制器来服务的。
解答:在配置文件中将 'controller_auto_search' => true,
前者的值置为true。
解答:反斜杠。namespace app\index\controller\one;
解答:正斜杆。http://serverName/index.php/index/one/Blog