改进默认模板的自动识别 改为根据方法名自动转换为小写+下划线 不受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

@@ -443,6 +443,12 @@ if (!function_exists('view')) {
*/
function view($template = '', $vars = [], $replace = [], $code = 200)
{
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 Response::create($template, 'view', $code)->replace($replace)->assign($vars);
}
}

View File

@@ -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]);