继上篇yii实战之初见端倪,本篇将讲解控制器和视图的基础用法。并构建一个人物列表页面
默认控制器默认情况下,当浏览器请求http://frontend.test/时,实际上访问的是frontend/controllers/SiteController.php的actionIndex方法,我们在这个方法断点测试下:
public function actionIndex() { return "你是不是默认的控制器? 如果是,就输出来"; return $this->render("index"); }
注意:方法名的命名要用action为前缀,且用驼峰法
浏览器结果:
默认控制器是由defaultRoute这个属性控制的,源码在:yiiwebApplication::$defaultRoute,可以在配置文件中指定自定义的默认控制器
在common/config/main.php新增:
"defaultRoute" => "index",
此时,再访问主页,会报404错误:
因为我们指定默认控制器为index,却没有创建相应的文件,接下来我们用yii的gii组件生成控制器文件。
打开终端,进入根目录,执行:php yii gii/controller --controllerClass=frontendcontrollersIndexController --viewPath=@frontend/views/index
可以看到,程序自动为我们生成了frontend/controllers/IndexController.php和frontend/views/index/index.php两个文件
此时,再刷新网页,就能正常访问了
查看gii更多用法可以执行:php yii help gii
gii是yii的代码自动生成工具,可以在web页面生成,也可以在命令行生成,程序员大多更偏爱于命令行。现在不太清楚用法,也没关系,先了解有这个功能,后续会多带带讲解gii构建人物列表页面 控制器构建数据
在Index控制器中,我们要构建一个简易的人物列表,效果如下:
控制器将人物列表数据传送给视图文件
视图文件将数据用表格显示
首先,在frontend/controllers/IndexController.php定义人物数组, 并将数组传送给视图
public function actionIndex() { $people = [ ["name" => "曹操", "saying" => "宁教我负天下人,不教天下人负我"], ["name" => "刘备", "saying" => "备若有基业,天下碌碌之辈,诚不足虑也。"], ["name" => "关羽", "saying" => "此等小辈,如同土鸡瓦狗,插标卖首尔"], ["name" => "张飞", "saying" => "我乃燕人张翼德,谁敢与我决一死战"], ]; return $this->render("index", ["people" => $people]); }
render第一个参数为视图文件名称,默认路径为:当前应用/views/控制器名称/视图名称,对应的路径即为:frontend/views/index/index.php;第二个参数是控制器要传送给视图的数据。
视图渲染数据yii的视图默认支持bootstrap,因此我们用bootstrap的语法展示数据:
frontend/views/index/index.php
人物 | 名言 |
---|---|
=$v["name"]?> | =$v["saying"]?> |
页面显示效果:
小结本节简单的演示了控制器跟视图的交互,下节将讲解yii自带的user组件,实现用户的注册、登录、退出功能,敬请关注...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/30758.html
摘要:继控制器与视图交互,本篇将讲解如何自定义全局函数,以及使用自带的用户注册登录功能全局函数有时候我们希望自定义一些函数,可以在全局中调用,如默认的在页面上的显示效果并不好,尤其是多层级数组的情况下,一大坨数据很难分辨。 继控制器与视图交互,本篇将讲解如何自定义全局函数,以及使用yii自带的用户注册登录功能 全局函数 有时候我们希望自定义一些函数,可以在全局中调用,如php默认的var_d...
摘要:出于实战基础加之自语言的书籍出版以来,几乎所有的编程书籍都讲述了一个的例子作为开始。操作,其实就是一个是动作的意思,也可以描述为我们前面说的响应地址。 作者:白狼 出处:http://www.manks.top/document/yii_first_application.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究...
摘要:为了演示特性的基本使用,我将会带领大家构建一个简单的博客管理系统。目前为止,我们借助生成了一系列操作。有好提示实际开发中,后台管理理应利用协助开发,可快速提高开发效果。 作者:白狼 出处:http://www.manks.top/document/easy_blog_manage_system.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出...
摘要:简述模块是中的架构的板块,主要负责数据的展示,渲染模板文件,展示数据内容。此外在一个视图中还可以引入多个视图文件,也是通过方法实现。布局文件的数据默认以显示,也可以用数据块的形式渲染到视图上。必须要确认生成一次,才会正式生成新首页。 简述 View模块是Yii中的MVC架构的V板块,主要负责数据的展示,渲染模板文件,展示数据内容。 基本概念 MVC在Yii里面有一个Views文件夹,里...
阅读 2469·2021-11-17 09:33
阅读 757·2021-11-04 16:13
阅读 1328·2021-10-14 09:50
阅读 691·2019-08-30 15:53
阅读 3657·2019-08-30 14:18
阅读 3267·2019-08-30 14:14
阅读 2092·2019-08-30 12:46
阅读 3177·2019-08-26 14:05