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. js 控制标记样式

    做一个变色的标签 鼠标移入变为灰色,移除变回原来的颜色,点击变成黑色,再点击变回,如果变成黑色不受移入移除影响. <body> <div class="bt1" ...

  2. Python 网络爬虫 008 (编程) 通过ID索引号遍历目标网页里链接的所有网页

    通过 ID索引号 遍历目标网页里链接的所有网页 使用的系统:Windows 10 64位 Python 语言版本:Python 2.7.10 V 使用的编程 Python 的集成开发环境:PyChar ...

  3. keystone组件

    引:  什么是keystone    为何要有keystone     keystone的功能     keystone概念详解     keystone与openstack其他组件关系      k ...

  4. Luogu 3193 [HNOI2008]GT考试

    BZOJ1009 妙! 推荐这篇题解: https://www.luogu.org/blog/Edgration/solution-p3193 考虑设计dp,设$f_{i, j}$表示长串匹配到i,短 ...

  5. Pull项目失败

    1.网速原因 2.提示邮箱失效. 邮箱失效:解决方案 File->Setting: 然后,要记得重启,IDEA. 然后,在终端输入:git branch -l 查看项目分支 这样,设置好了用户名 ...

  6. 《Maven实战》笔记-1-Maven使用入门

    <Maven实战>徐晓斌 2011 机械工业出版社   一.介绍 1.名词 artifact:插件 极限编程XP 2.构建脚本: maven——pom.xml(Project Object ...

  7. 【ionic App问题总结系列】ionic 如何更新app版本

    ionic 如何进行自动更新 ionic App更新有两种方式:第一种是普通的从远程下载apk,安装并覆盖旧版本.另外一种就是采用替换www文件夹的内容,实现应用内更新,而无需下载安装apk. 这篇文 ...

  8. 【C#】记录程序耗时方法

    最近写了一个读txt题库然后导入数据库的控制台应用,查看存入数据库耗时 在C#中使用 Stopwatch  命名空间: System.Diagnostics: 使用方法:   System.Diagn ...

  9. w2008 R2 401 - 未授权: 由于凭据无效,访问被拒绝。

    1.打开服务器的"IIS信息服务管理器"-->选择你发布的网站-->选择功能视图中的"身份验证"-->右键匿名身份验证,选择"编辑& ...

  10. NMS---非极大值抑制

    在物体检测中,NMS(Non-maximum suppression)应用十分广泛,其目的是为了消除多余的框,找到最佳的物体检测的位置.在RCNN系列算法中,会从一张图片中找出很多个候选框(可能包含物 ...