thinkPHP 全局函數


M函數

TPModel父類,封裝的功能比較多,增刪改查操作都具備.
一些表,比如留言表,comment

class CommentModel extends Model {
}

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

 

D函數

 

D函數也可以實例化Model,

優先實例自定義的子類Model,
如果子類Model不存在,則功能等同於M()的函數.
如果有自定義的類,也可以用D()來導入

例如

        $a = new \Home\Model\DemoModel();
        $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 Home\Model;
    use Think\Model;

    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請求成功!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM