改进默认模板的自动识别 改为根据方法名自动转换为小写+下划线 不受URL影响

This commit is contained in:
thinkphp
2018-02-28 15:00:28 +08:00
parent 8fffb9c5cc
commit 33404d6fca
2 changed files with 22 additions and 3 deletions

View File

@@ -52,7 +52,7 @@ class Controller
*/
public function __construct(Request $request = null)
{
$this->view = View::instance(Config::get('template'), Config::get('view_replace_str'));
$this->view = View::instance(Config::get('template'), Config::get('view_replace_str'));
$this->request = is_null($request) ? Request::instance() : $request;
// 控制器初始化
@@ -117,6 +117,13 @@ class Controller
*/
protected function fetch($template = '', $vars = [], $replace = [], $config = [])
{
if ('' === $template) {
$trace = debug_backtrace(false, 2);
$suffix = Config::get('action_suffix');
$action = $suffix ? substr($trace[1]['function'], 0, -strlen($suffix)) : $trace[1]['function'];
$template = Loader::parseName($action);
}
return $this->view->fetch($template, $vars, $replace, $config);
}
@@ -202,9 +209,15 @@ class Controller
}
// 批量验证
if ($batch || $this->batchValidate) $v->batch(true);
if ($batch || $this->batchValidate) {
$v->batch(true);
}
// 设置错误信息
if (is_array($message)) $v->message($message);
if (is_array($message)) {
$v->message($message);
}
// 使用回调验证
if ($callback && is_callable($callback)) {
call_user_func_array($callback, [$v, &$data]);