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