zoukankan      html  css  js  c++  java
  • Yii2学习笔记002---Yii2的控制器和视图

     

    一、控制器文件:TestController.php

    复制代码
     1 <?php
     2     //1、命名空间使用和TP一致的
     3     //定义命名空间
     4     namespace appcontrollers;
     5     //引入基础控制器
     6     use yiiwebController;
     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 都是继承yiiwebController.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嵌套的语法
  • 相关阅读:
    cookie加密
    【雅思】【绿宝书错词本】List1~12
    【日语】【标日初下单词】45~48课
    【日语】【标日初下单词】41~44课
    【日语】【标日初下单词】37~40课
    【日语】【标日初下单词】33~36课
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
  • 原文地址:https://www.cnblogs.com/baobaoa/p/9360051.html
Copyright © 2011-2022 走看看