1、怎么自定義訪問控制器層?
在自定義配置文件config/config.php中添加:
// 默認(rèn)的訪問控制器層
?'url_controller_layer' => 'controller',
可以將'controller'改為任意自定義名,如'api'。
這時也要把a(bǔ)pp\index\下的controller文件夾名改為api,api下的所有控制器的命名空間也要更改。
2、怎么創(chuàng)建多級控制器?
在app\index\controller文件夾下添加文件夾如'user',在user中添加Demo.php文件。
那么要在url中訪問其中的index方法就要輸入:
tp5.com/index/user.demo/index
3、為什么要創(chuàng)建空操作和空控制器?
如果在url中訪問了一個不存在的方法,為了不報錯,而顯示自定義的提示,就要在控制器中寫一個如下的方法:
public function _empty($method)
{
return '你訪問的方法'.$method.'不存在';
}
如果在url中訪問了一個不存在的控制器,為了不報錯,而顯示自定義的提示,就要在thinkphp\convention.php中找到’empty_controller' => 'Error',將其復(fù)制到自定義config.php中,'Error'可自己改。
然后在app\index\controller文件夾下新建一個Error.php文件,最好在其中同樣填入如下代碼:
public function _empty($method)
{
return '你訪問的方法'.$method.'不存在';
}
4、怎么在控制器中使用trait?
例如在class Index類中開頭寫:
use \traits\controller\Jump;
就引入了traits中Jump控制器,該控制器中有個success方法,我們現(xiàn)在想用這個方法,所以:
public function demo($name)
{
if ($name=='bilibili'){
$this->success('正在跳轉(zhuǎn)到嗶哩嗶哩動畫','http://www.bilibili.com');
}
}
在url中就可以寫:
tp5.com/index/index/demo/name/bilibili
就可以訪問了。
5、什么是單一模塊?什么時候需要使用它?
如果應(yīng)用比較簡單,不需要劃分模塊的時候,就可以使用單一模塊。
單一模塊,就是沒有模塊,模塊就是應(yīng)用,應(yīng)用就是模塊。
開啟單一模塊:
在\thinkphp\convention中找到'app_multi_module' => true,復(fù)制到自己的config.php中,修改true為false,即可。
然后把index模塊下的東西全部移到application下。其他相應(yīng)的如命名空間也要更改。