thinkphp5多級控制器是什么?怎么使用?
一、總結
1、多級控制器是讓控制器的級數變成多級,也就是controller目錄下可以新建其它目錄。
2、使用的話注意目錄下的控制的的命名空間(加上目錄名)(namespace app\index\controller\one;
)和訪問方式(文件名.控制器名)(http://serverName/index.php/index/one.blog/index
)(不開自動定位控制器的情況)
二、多級控制器
新版支持任意層次級別的控制器,並且支持路由,例如:
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(); } }
該控制器類的文件位置為:
application/index/controller/one/Blog.php
訪問地址可以使用
http://serverName/index.php/index/one.blog/index
如果要在路由定義中使用多級控制器,可以使用:
\think\Route::get('blog/add','index/one.Blog/add');
三、自動定位控制器
如果你使用了多級控制器的話,可以設置controller_auto_search
參數開啟自動定位控制器,便於URL訪問,例如首先在配置文件中添加:
'controller_auto_search' => true,
然后定義控制器如下:
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地址了:
http://serverName/index.php/index/one/Blog
四、測試題-簡答題
1、thinkphp里面的多級控制器是什么?
解答:就是thinkphp可以在控制器controller文件下再建文件夾。
application/index/controller/one/Blog.php
2、thinkphp里面的多級控制器有什么用?
解答:讓控制器的層次結構更加分明。
3、thinkphp里面的多級控制器如何實現?
解答:a、在控制器controller目錄下建立文件夾 b、新文件夾下的命名空間要注意。
namespace app\index\controller\one;
4、在控制器controller目錄下建立名為one的目錄,one目錄中的控制器的命名空間是怎么樣的?
解答:在日常控制器后面加上one。namespace app\index\controller\one;
5、在控制器controller目錄下建立名為one的目錄,one目錄中有一個名為blog的控制器,這個控制器如何在地址欄被訪問?
解答:目錄名.控制器名 的形式。 one.blog。 http://serverName/index.php/index/one.blog/index
6、thinkphp中的自動定位控制器有什么用?
解答:便於多級控制器的訪問,讓多級控制器可以按照文件目錄訪問,而不是 目錄名.控制器名 的形式訪問。http://serverName/index.php/index/one/Blog。
7、thinkphp中的自動定位控制器只有在開啟了多級控制器才有用,這句話正確么?
解答:正確,因為自動定位控制器就是為多級控制器來服務的。
8、thinkphp中如何開啟自動定位控制器?
解答:在配置文件中將 'controller_auto_search' => true,
前者的值置為true。
9、thinkphp中的命名空間和ues引入的文件名是正斜杠還是反斜杠?
解答:反斜杠。namespace app\index\controller\one;
10、url訪問中的地址是正斜杠還是反斜杠?
解答:正斜桿。http://serverName/index.php/index/one/Blog