要输出视图,必须在控制器方法中进行模板渲染输出操作
<?php
namespace app\index\controller;
use think\Controller;
class Index extends Controller
{
public function hello($name = 'thinkphp')
{
$this->assign('name', $name);
return $this->fetch();
}
}
注意, Index 控制器类继承了 think\Controller 类之后,我们可以直接使用封装好的assign 和
fetch 方法进行模板变量赋值和渲染输出。
fetch 方法中我们没有指定任何模板,所以按照系统默认的规则(视图目录/控制器/操作方法)输出了
view/index/hello.html 模板文件。
注意:
return $this->fetch()
这个方法,是用于视图的渲染模板输出。
但是如果请求为ajax的话,他返回的就是json转义之后的方法,必须要把return改成echo才行。
这很不合常理,fetch本身就是视图输出,不应该判断请求就进行转义。
除了路由配置文件中定义之外,还可以采用动态定义路由规则的方式定义,例如在路由配置文件(
application/route.php )的开头直接添加下面的方法:
use think\Route;
Route::rule('hello/:name&