18年8月9日随笔(php thinkphp框架部分)

时间:2021-04-17 14:15:19

空控制器

<?php
namespace Home\Controller;
use Think\Controller;
header("content-type:text/html;charset=utf-8");
//空控制器
class EmptyController extends Controller
{
  public function _empty()
  {
    echo "当前访问控制器不存在!";
    }
}

在类文件夹建立EmptyController.class.php控制器 里面只有一个方法_empty 若你访问的控制器不存在 就调用空控制器

<?php
namespace Home\Controller;
use Think\Controller;
header("content-type:text/html;charset=utf-8");


//前置 后置 操作     在定义的方法名前面加上 _after(前置) _before(后置)
class QzController extends Controller
{
  public function index()
  {
    echo "我是正常!<br/>";
  }

  public function _after_index()
  {
    echo "我是后置:_after<br/>";
  }

  public function _before_index()
  {
    echo "我是前置:_before<br/>";
  }
}


 MODULE_NAME; 模块名//可以echo 输出
    CONTROLLER_NAME; 控制器名
    ACTION_NAME; 方法名

    通过get方式提交表单,提交的参数a c m是无法用$_GET数组去获取的

    I();可以帮我们返回GET POST SESSION COOKIE等系统变量的值
    使用方法:
    I('get.id'); 获取通过GET方式提交的ID的值  $_GET['id']
    I('post.user'); 获取通过post方式提交的user的值 $_POST['user']
    I('cookie.user'); 获取通过cookie存储的user的值 $_COOKIE['user']
    I('session.user'); 获取通过session存储的user的值 $_SESSION['user']
    这个函数可以帮你完成自动过滤,提高数据的安全性
    
    U();可以帮我们生成一个URL地址
    echo U(); 输出当前网页的地址
    echo U('Home/index/test1');  
    生成地址的格式 是根据 thinkphp/conf/convention.php 136行URL_MODEL的值来决定的
    echo U('Home/index/test2?id=1&cid=2');

MODULE_NAME; 模块名
    CONTROLLER_NAME; 控制器名
    ACTION_NAME; 方法名

    通过get方式提交表单,提交的参数a c m是无法用$_GET数组去获取的

    I();可以帮我们返回GET POST SESSION COOKIE等系统变量的值
    使用方法:
    I('get.id'); 获取通过GET方式提交的ID的值  $_GET['id']
    I('post.user'); 获取通过post方式提交的user的值 $_POST['user']
    I('cookie.user'); 获取通过cookie存储的user的值 $_COOKIE['user']
    I('session.user'); 获取通过session存储的user的值 $_SESSION['user']
    这个函数可以帮你完成自动过滤,提高数据的安全性
    
    U();可以帮我们生成一个URL地址
    echo U(); 输出当前网页的地址
    echo U('Home/index/test1');  
    生成地址的格式 是根据 thinkphp/conf/convention.php    136行URL_MODEL的值来决定的  //116行 117行定界符
    echo U('Home/index/test2?id=1&cid=2');

public function test3(){
        //echo U();//输出当前网页的地址
        echo "<br>";
        echo U('Home/index/test3?id=1&id=2');
        exit;
        $url=U('Home/index/hello');//生成地址格式是根据thinkphp/conf/convention.php 136行
        //URL_MODEL的值来改变
        echo "<a href=".$url.">点我呀</a>";
    }

 

视图模板
    $this->display(); 调用视图文件,输出视图文件

例:$this->display("Bbb/test");//视图文件夹下的Bbb文件夹的/test页面
    $this->assign('变量名','变量值'); 给视图文件分配数据

例:$this->assign("name","于佳铎");
         $this->assign("age","18");
         $this->assign("sex","男");

调用:echo $name;
        echo $age;
        echo $sex;
    $this->assign(数组); 给视图文件分配数据,数组必须是关联数组

 $data[] = Array('name'=>'于佳铎','age'=>15,'sex'=>'男');

 var_dump($name);

$data[] = Array('name'=>'于佳铎','age'=>15,'sex'=>'男');

$this->assign('data',$data);

var_dump($data);

*******************

<volist name="data" id="row">{$row.name}年龄为:<if condition="$row['age'] egt 18"><!-- egt大于等于 -->{$row.age}<else/>未成年</if>
    <hr>
    </volist><!-- 类似forech -->
    <include file="Bbb/footer"/>