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中的!= 、== 、!==、===的用法和区别

    与c++中每一种类型都有明确的的定义不同:因JS中var定义存在,未具体区分类型,!=与==不能包含所有的条件,故加入!==与===用法: var num = 1; var str = '1'; va ...

  2. C++输出斐波那契数列的几种方法

    定义: 斐波那契数列指的是这样一个数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, ... 这个数列从第三项开始,每一项都等于前两项之和. 以输出斐波那 ...

  3. kafka的producer执行卡住的问题

    使用windows开发producer然后向远程的kakfa集群发送数据,但是一直卡着, 在window的hosts文件添加kafka集群的主机名和ip的映射就好了 网上搜了下,大致是producer ...

  4. 2013年第四届蓝桥杯国赛 九宫重排(HashMap+双BFS优化)

    九宫重排     时间限制:1.0s   内存限制:256.0MB 问题描述 如下面第一个图的九宫格中,放着 1~8 的数字卡片,还有一个格子空着.与空格子相邻的格子中的卡片可以移动到空格中.经过若干 ...

  5. windows脚本设置网络IP地址

    需求描述 不通的网络环境下,可能需要设置静态IP地址,或设置为动态获取,每次重复手动的配置费时费力,通过脚本可以实现一键设置 脚本实现 1.设置静态IP 1.1新建文本文档,复制粘贴如下内容 nets ...

  6. PHP常用的服务器

    Wordpress够流行了吧,它是一个用PHP编写的强大的博客平台.使用它来架设一个博客平台相关容易,是新手建站比较方便的工具.但是要真正体会Wordpress(以下简称WP)强大,插件是不可少的东西 ...

  7. 基于docker虚拟化创建hadoop集群

    最近想用hadoop做一个测试,与性能无关的测试,但是可与屌丝的命,手头没有太多机器,也租不起云主机.这里使用docker进行虚拟化,并搭建hadoop集群,在这里将过程记录如下. 首先安装docke ...

  8. docker初探

    1.什么是docker: 可以理解为一个可移植的集装箱容器,开发者可以打包他们的应用以及依赖包到一个可移植的容器中. 2.docker安装及使用(ubuntu16.04) (1)首先通过apt-get ...

  9. vue框架搭建的详细步骤之项目结构(二)

    上一篇中简单的创建了一个脚手架,这篇简单的讲一下脚手架的项目结构:     (1).build/ 此目录包含开发服务器和生产webpack构建的实际配置.通常,您不需要触摸这些文件,除非您要自定义We ...

  10. [SinGuLaRiTy] NOIP模拟赛(TSY)-Day 2

    [SinGuLaRiTy-2033] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved.                              ...