M函数

TP的Model父类,封装的功能比较多,增删改查操作都具备.
一些表,比如留言表,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请求成功!

thinkPHP 全局函数的更多相关文章

  1. yii---定义全局函数

    YII它不像Thinkphp等框架一样,已经有全局函数,YII要使用全局函数需要自己去定义,然后在入口文件中进行引入: 例如:我们看 yii 的入口文件: 看到这里,我们看到有个 autoload.p ...

  2. Laravel-自定全局函数

    Laravel-自定全局函数 标签(空格分隔): php 习惯了 使用 ThinkPHP 框架,有一个公共方法类在代码编写上会快捷很多,所以有必要在此进行配置一番. 实现 在 app 创建文件夹 He ...

  3. CI框架源码阅读笔记3 全局函数Common.php

    从本篇开始,将深入CI框架的内部,一步步去探索这个框架的实现.结构和设计. Common.php文件定义了一系列的全局函数(一般来说,全局函数具有最高的加载优先权,因此大多数的框架中BootStrap ...

  4. jQuery全局函数

    全局函数是对jQuery对象的扩展,其中扩展方法包括: 一,extend扩展: //调用全局函数$(document).ready(function () { $.myFunction(); $.my ...

  5. 部分具有统计功能的TSQL语句(例如DBCC语句,全局函数,系统存储过程)

    部分具有统计功能的TSQL语句(例如DBCC语句,全局函数,系统存储过程) 这些功能也能帮助用户了解和监控SQLSERVER的运行情况 DBCC语句,DBCC语句是SQL2005的数据库控制台命令 D ...

  6. JavaScript基础11——js的全局函数

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. 在C++工程中设置全局函数

    在头文件中对该函数进行全局函数的声明: extern void Test(); 在cpp文件中进行函数的定义: void Test() { MessageBox(NULL,L"调用了C++的 ...

  8. C++学习27 用全局函数重载运算符

    运算符重载函数既可以声明为类的成员函数,也可以声明为所有类之外的全局函数. 运算符重载函数作为类的成员函数 将运算符重载函数声明为类的成员函数时,二元运算符的参数只有一个,一元运算符不需要参数.之所以 ...

  9. js的全局函数

    JS的全局函数,全局函数和window对象的函数不一样. 全局函数不属于任何一个内置对象. JS包含以下7个全局函数,用于一些常用的功能: escape(),unescape(); //编码,解码. ...

随机推荐

  1. php单引号双引号的区别

    单引号里面的内容是直接被当做一个字符串,用双引号定义的字符串的内容最只要的特征就是会被解析.

  2. 杭电acm 1021题

    题意是要求能被3整除的数所以为了避免大数据的产生,直接对每个数据求余,然后相加 #include "iostream" using namespace std; int main( ...

  3. 1用java实现冒泡排序算法以及解决的几个小问题。

    package huawei.exam; public class BubbleSort { /** * @param args */ public static void main(String[] ...

  4. noi.ac day1t3 Sort

    传送门 分析 快排的原理是以任意一个数为标准,然后把所有小于它的数换到它的左边,所有大于它的数换到它的右边.我们就使用快排的思路,分治整个区间.对于每个区间以排好序的这个数列的中间位置的值为标准,然后 ...

  5. 8.View类

    Basic Concepts      在Modle/View 结构中,View从Model中提取数据,并显示给用户.View显示数据的方式不一定与Model中数据排列方式相同,也可能与底层数据结构完 ...

  6. 机器学习初探(手写数字识别)HOG图片

    这里我们讲一下使用HOG的方法进行手写数字识别: 首先把 代码分享出来: hog1.m function B = hog1(A) %A是28*28的 B=[]; [x,y] = size(A); %外 ...

  7. Struts2返回JSON数据的具体应用范例

    早在我刚学Struts2之初的时候,就想写一篇文章来阐述Struts2如何返回JSON数据的原理和具体应用了,但苦于一直忙于工作难以抽身,渐渐的也淡忘了此事.直到前两天有同事在工作中遇到这个问题,来找 ...

  8. springcloud 定义切面实现对请求操作记录日志,方便后面分析接口详情

    package com.idoipo.infras.gateway.open.config; import com.alibaba.fastjson.JSON; import com.alibaba. ...

  9. 2018,重新开始学习DotNetCore

    学习计划: 1.IdentityServer https://github.com/IdentityServer/IdentityServer4 2.eShopOnContainers https:/ ...

  10. 怎样创建XML文档

    在程序中,我们怎样创建一个XML文档.下面演示中,Insus.NET在程序创建一个和http://www.cnblogs.com/insus/p/3274220.html 一模一样的XML文档. 可以 ...