thinkPHP 全局函数

M函数

TPModel父类,封装的功能比较多,增删改查操作都具备.
一些表,比如留言表,comment

class CommentModel extends Model {
}

M('comment') 的作用就是得到父类Model的对象,
且把Model的表名---指向-->comment

 

D函数

D函数也可以实例化Model,

优先实例自定义的子类Model,
如果子类Model不存在,则功能等同于M()的函数.
如果有自定义的类,也可以用D()来导入

例如

        $a = new HomeModelDemoModel();
        $a = D('Demo');//thinkphp 封装的方法(优先得到子类的方法)
    //两者的效果是一样的

D函数跨模块调用Model

如::Admin模块下,调用 Home模块下的DemoModel

//跨模块调用,Admin/controller/indexcontroller.class.php下

$DemoModel = D('Home/Demo'); //home下面的Demo模块 $a = $DemoModel->papa();

调用Home模块下DemoModel.class.php模块

<?php
    namespace HomeModel;
    use ThinkModel;

    class DemoModel extends Model {
        public function papa(){
            //echo 'Model';
            $arr = array('id'=>'123','name'=>'healy','age'=>'99','sex'=>'girl');
            $a = $this->add($arr);

            return $a;
        }
    }

?>

U函数

U函数 按系统设定的URL规则,生成URL

在控制器中,可以这样来写:
$url = U('模块/控制器/方法',参数数组或字符串);


//大U函数的应用生成URL
    public function uu(){
        //$a = U('Home/User/ff',array('id'=>7));
        $a = U('Home/User/ff',"id=4&p=3");
        echo $a;
    }

效果图

在模板中的写法

注意: 在模板中调用时,标签中加":"

<!--模板里面使用-->
    {:U('Home/User/ff',array('id'=>3))}

C函数

读取和设置配置选项的函数

 配置文件

<?php

return array(
    //'配置项'=>'配置值'
     'DB_TYPE'               =>  'mysql',     // 数据库类型
    'DB_HOST'               =>  'localhost', // 服务器地址
    'DB_NAME'               =>  'test',          // 数据库名
    'DB_USER'               =>  'root',      // 用户名
    'DB_PWD'                =>  '',          // 密码

    //随便写的
    'WEB_NAME'                   =>  'blog',
);

读取配置文件

//读取配置项C函数的用法
    echo C('DB_NAME');
     C('WEB_NAME','xiugai');
        echo C('WEB_NAME');//运行时的修改,不改原来配置文件
    exit();

效果

I函数

防止XSS攻击和sql注入,所做的过滤函数.

I('get.title') --输出--> <div> // 防止XSS攻击
I('post.email') --输出-- 转义并过滤html标签后的email内容.

get请求

//I函数的用法
//传统的用法 //$get=$_GET['id']; //echo $get;
$get = I('id'); echo $get;
//两者的效果是一样的

POST请求

home下的模板add.html

<form class="" action="{:U('Home/User/ff')}" method="post">
        <input type="text" name="id" value="">
        <input type = "submit" name="" value = "submit">    
    </form>
<!--
{:U('Home/User/ff')}===>      action/shop/index.php/Home/User/ff.html

-->

home下的控制器UserController.class.php

    $get = I('id');
        echo $get;
        exit();

测试POST请求成功!

原文地址:https://www.cnblogs.com/healy/p/6807691.html