Yii2学习笔记002---Yii2的控制器和视图

 

一、控制器文件:TestController.php

复制代码
 1 <?php
 2     //1、命名空间使用和TP一致的
 3  //定义命名空间  4  namespace app\controllers;  5 //引入基础控制器  6 use yii\web\Controller;  7 class TestController extends Controller{  8 // 2、action的定义位置相反  9 public function actionIndex(){ 10 echo 'hello yii2lover'; 11 //重定向 12 $this->redirect(['site/index']); 13 //去首页 14 $this->goHome(); 15 //返回上一级 16 $this->goBack(); 17 //刷新当前页面---会出问题--网页包含重定向循环 18 $this->refresh(); 19 //5、使用视图的规则不一样 20  //使用布局模板render(给予) 21 return $this->render('index',['data' => [1,2,3] ] ); 22 //不使用布局模板partial(局部的) 23 return $this->renderpartial('index',['data' => [1,2,3] ] ); 24  } 25 // 3、当名字为驼峰法俩单词组成时,则请求是r=test/show-user 26 public function actionShowUser(){ 27 echo '您是坤哥吗'; 28 29  } 30 // 4、请求URL本身的写法的区别index.php?r=控制器名/方法名 31 }
复制代码

二、视图文件:views/test/index.php

复制代码
1 test-index
2 <br>
3 <!-- 6、PHP在模板中没有使用模板引擎的语法 -->
4 <?php 5 foreach ($data as $val){ 6 echo $val ,'<br>'; 7  } 8 ?>
复制代码

三、要点:

①框架默认的目录的结构有区别:
  ThinkPHP3.2.3是APP基础目录和框架基础目录分开;
  Yii2框架的话则是框架核心目录是vendor第三方/供应商目录作为里;
  当然还有其他区别;
②控制器命名规则
  Yii2 的控制器是放在 controllers 里面 , 命名规则是(名称 + Controller.php) , 例如
  TestController.php。所有的 controller 都是继承\yii\web\Controller.php、
  TP是:TestController.class.php
③视图文件的命名规则
  视图的文件全部放在 views 目录中 , 然后控制器名称小写作为子目录 , 接下来就是方
  法 名 .php , 例 如 TestController 中 的 index 方 法 , 则 创 建 后 的 文 件 目 录 应 该 为
  views/test/index.php
  TP是:view/test/index.html
④ $this->render() 和 $this->renderPartial()区别?
  $this->render() 和 $this->renderPartial()都可以调用视图文件 , 两个的区别在于 render
  的时候会调用 lagout 的公共的文件(如 views/layouts/main.php)
⑤命名空间使用和TP一致的
⑥方法名是actionIndex而不会TP的index或indexAction
⑦请求URL是参数应该如此写:?r=test/index或者默认index简写为:?r=test
⑧方法名是actionShowUser则请求URL是参数应该如此写:?r=test/show-user
⑨模板中没有用模板引擎的语法,而是直接用PHP嵌套的语法

猜你喜欢

转载自www.cnblogs.com/baobaoa/p/9360051.html