循着上一篇yii实战的初步线索,本文将讲解Controller与View的基本用法。并构建一个字符列表页面默认controller默认情况下,当浏览器请求http://frontend.test/时,实际上访问的是frontend/controllers/SiteController.php的actionIndex方法,我们在这个方法中断点测试下一个:public函数actionIndex(){return"你是默认控制器吗?如果是,输出";return$this->render('index');}注意:方法名要加action前缀,使用驼峰方法浏览器结果:默认控制器由defaultRoute属性控制,源码在:\yii\web\Application::$defaultRoute,可以在配置文件common/config中指定一个自定义的默认控制器在/main.php中添加:'defaultRoute'=>'index'。这时候如果再次访问首页,会报404错误:因为我们指定了默认控制器为index,但是没有创建对应的文件,那么我们使用yiigii组件生成控制器文件。打开终端,进入根目录,执行:phpyiigii/controller--controllerClass=frontend\\controllers\\IndexController--viewPath=@frontend/views/index可以看到程序自动生成了frontend/controllers/IndexController为我们.php和frontend/views/index/index.php两个文件此时再次刷新网页,可以正常访问查看gii更多用法可以执行:phpyiihelpgiigii是yii的自动代码生成工具,既可以在网页上生成,也可以在命令行生成,大多数程序员更喜欢命令行。现在不知道怎么用,没关系,先了解有这个功能,后面我会单独说明giibuildcharacterlistpagecontroller构建数据在Indexcontroller中,我们要构建一个简单的人物列表,效果如下:controller将人物列表数据发送到视图文件视图文件将数据显示在表格中首先,在frontend/controllers/IndexController.php中定义人物数组,并发送arraytotheviewpublicfunctionactionIndex(){$people=[['name'=>'曹操','saying'=>'教我负天下不如教天下负我'],['name'=>'刘备','saying'=>'北若有基则天下庸人,诚不忧。'],['name'=>'关羽','saying'=>'这些小辈如鸡如狗,卖到汉城'],['name'=>'张飞','saying'=>'我是燕国张翼德,敢与我殊死搏斗'],];return$this->render('index',['people'=>$people]);}render第一个参数为视图文件名,默认路径为:当前应用/视图/控制器名/视图名,对应路径为:frontend/views/index/index.php;第二个参数是控制器将发送给视图的数据。查看渲染数据Yii的视图默认支持bootstrap,所以我们使用bootstrap语法来展示数据:frontend/views/index/index.phpPeople Quotes <?phpendforeach;?>页面展示效果:总结本节简单演示控制器与视图的交互。下一节将讲解yii自带的用户组件,实现用户注册、登录、退出等功能。专注于...=$v['name']?> =$v['saying']?>
