Yii2视图

从上一篇的路由我们知道,首页的路由是这样的:

home -> xxxx/index.php?r=site/index

我们看到首页很多元素,而在site控制器里只有一句

public function actionIndex()
{
    return $this->render('index');
}

除了约定之外,其实起作用的就是这么一句

return $this->render('index');

这就话什么意思呢,给你一个视图模板的名称(也就是函数的参数 index),找到这个视图模板,并渲染出来。

我们知道视图文件都在 views文件夹我们继续来找这个视图文件

好了 views 下面有个site 文件夹里面有个 index.php  视图文件 这个文件的名称 index 就是它了。

这里也是一个约定 render 函数里面如果不带路径“/”字符,那么他就自动回去该应用views文件夹下的控制器名称文件夹(这里是site)下的该名称的视图文件,

好了,下面我们看看这个index.php模板文件和首页对得上不。

打开一看,除了头部有一些php脚本,非常熟悉的html 展现在眼前,其实大部分也对的上 ,除了没有头尾。

只有红框圈出来的这一部分html代码,这部份尝试修改,首页展示也会相应修改,确实是这个没错。

这样说来好像明明一个汉堡包,上下两片面包不知道在哪。

Yii2在前端资源css js 有很多脚手架配置在里面,所以很多前端不熟的后端伙伴都喜欢,因为可以用到Yii的配置资源手脚。

这里有一个默认的配置叫布局帮你配好了头部和尾部,在哪呢?再找一找:


对了就是这个 views 下面的 layouts 文件夹里面的main.php布局文件。如果动作action函数里面没声明,就会给这个视图模板夹在这个布局模板里面,而这个红色部分就是视图模板文件展示的地方,布局里面的php脚本 除了生成头部尾部html 还要加载 css js  资源。

如果你不要这两片面包呢,只要动作函数里面如下申明一下

public function actionIndex()
{
    $this->layout = false ; //这句话就表示不需要布局
    return $this->render('index');
}

Yii2  现在最新版的默认布局 用了 bootstrap4 和 jquery3.6资源,至于这块资源的调用脚本,以后有机会可以稍微讲讲,毕竟现在前后不分离不是趋势。

评论区
登陆 后评论!