thinkphp中如何使用PHP函数,如何在ThinkPHP中使用函数进行回调

如何在ThinkPHP中使用函数进行回调

发布时间:2020-12-23 15:11:45

来源:亿速云

阅读:85

作者:Leah

本篇文章为大家展示了如何在ThinkPHP中使用函数进行回调,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

ThinkPHP 自动填充格式如下:

复制代码 代码如下:

array(填充字段,填充内容[,填充条件][,附加规则])

附加规则,可选,包括:

string:字符串,表示填充内容为字符串(默认)。

function:使用函数,表示填充的内容是一个函数返回值。

callback:使用方法,表示填充的内容是一个当前 Model 的方法返回值。

field:字段,表示填充的内容是一个其他字段的值。

ThinkPHP 自动填充使用函数function

当附加规则使用函数function填充时,表示填充的内容是一个函数返回值,这个函数可以是PHP内置函数或用户自定义函数.

使用函数填充例子:

复制代码 代码如下:

class UserModel extends Model{

protected $_auto = array (

// 对password字段在所有情况下使用md5函数处理

array('password','md5',3,'function'),

// 对regdate字段在新增时写入当前时间戳

array('regdate','time',1,'function'),

// 对regip字段在新增时写入用户注册IP地址

array('regip','get_client_ip',1,'function'),

// 对username字段在新增时使用自定义getName函数

array('username','get_name',1,'function'),

);

}

在上面的例子中,使用的 md5 和 time 为 PHP 内置函数,填充结果为 md5($_POST['password']) 值和 time() 函数值,get_client_ip 和 get_name 为 Common/common.php 自定义函数.

get_name 函数将用户名加上 th_ 前缀,参考如下:

复制代码 代码如下:

function get_name($name){

return 'th_'.$name;

}

如果函数需要参数,则将填充字段作为参数,如上面的 md5 和 get_name 函数填充.

ThinkPHP 自动填充使用方法callback

当使用方法 callback 填充时,表示填充的内容是一个当前 Model 的方法返回值,使用 callback 填充例子:

复制代码 代码如下:

class UserModel extends Model{

protected $_auto = array (

// 对username字段在新增时回调getName方法

array('username','getName',1,'callback'),

);

}

getName方法将用户名加上 th_ 前缀,参考如下:

复制代码 代码如下:

class UserModel extends Model{

// 将传入的username加上th_前缀

function getName(){

return 'th_'.$_POST['username'];

}

}

注:上述例子将 username 字段前自动加上 th_ 前缀而填充到 username 中,仅是为了说明自动填充使用函数或回调方法的用法,可能并无实际生产意义

上述内容就是如何在ThinkPHP中使用函数进行回调,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/551648.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unity 敌人自动攻击和寻路_Unity暑期萌新入门:环境篇

大家好,新一期又跟大家见面了。上一节我们完成了角色的移动控制,然而John只能在空白的场景中移动。因此接下来这一节我们将添加关卡、调节光照,让John来到阴森的鬼屋。然后设置NavMesh(导航网格,现在先听个概念就好),为…

layui tree 加载慢_图片太多,加载慢,我用了layui里的方式,放在服务器后还是太慢!怎么解决???有没有什么优化的技巧???...

怎么解决怎么解决怎么解决怎么解决怎么解决怎么解决怎么解决怎么解决怎么解决怎么解决怎么解决怎么解决怎么解决怎么解决怎么解决怎么解决怎么解决???????layui.use([layer,flow], function(){v…

oracle 存储中文 u码,Oracle 汉字 占位

遇到了一个数据插入长度过长问题,记得大学时候,还说过oracle的不同编码下的的大小分配不是一样的,具体也忘记了,补上,以防下次犯二1 step先查看自己的oracle是什么字符集select userenv(language) from dual比如: SIMPLIFIED CHINESE_CHINA.ZHS16GBK 、 SIMPLIFIED CHINESE_CH…

element 表格宽度自适应_Java 设置Word中的表格自适应的3种方式

概述在Word创建表格时,可设置表格“自动调整”,有3种情况,通过Java程序设置可调用相应的方法来实现,即:根据内容调整表格AutoFitBehaviorType.Auto_Fit_To_Contents根据窗口调整表格AutoFitBehaviorType.Auto_Fit_To_W…

python实现决策树数据直接赋值导入_Python3.0 实现决策树算法的流程

决策树的一般流程检测数据集中的每个子项是否属于同一个分类if so return 类标签Else寻找划分数据集的最好特征划分数据集创建分支 节点from math import logimport operator#生成样本数据集def createDataSet():dataSet [[1,1,yes],[1,1,yes],[1,0,no],[0,1,no],[0,1,no]]lab…

linux oracle em使用,Linux平台下启动oracle 11g EM控制台

http://blog.csdn.net/webajax/article/details/6702233配置EM具体步骤一、配置EM dbconsole的步骤信息emca -config dbcontrol db -repos recreateEMCA 开始于 2007-10-12 11:16:40EM Configuration Assistant 10.2.0.1.0 正式版版权所有 (c) 2003, 2005, Oracle。保留所有权利…

源码里没有configure_深入源码理解.NET Core中Startup的注册及运行

开发.NET Core应用,直接映入眼帘的就是Startup类和Program类,它们是.NET Core应用程序的起点。通过使用Startup,可以配置化处理所有向应用程序所做的请求的管道,同时也可以减少.NET应用程序对单一服务器的依赖性,使我们…

天龙源码框架分析_天龙八部源码描述【转】

天龙八部(武侠世界)的源码很可能是天龙八部代码流出后改写的,因为在看了代码中可以找到一些证据,整个客户端分为:一个是编辑器,一个是客户端,采用OGREcegui自写的简单的物理碰撞检测FMOD自写的网络库。服务器端代码目前…

oracle查询慢怎么优化,Oracle查询优化-怎样建立索引优化下面的查询语句啊

下面是转换出来的查询语句SELECT *FROM (SELECT "Project1"."C1" AS "C1","Project1"."ID" AS "ID","Project1"."NVC_ORDERBY" AS "NVC_ORDERBY","Project1"."I_ST…

复试情报准备

英语自我介绍,介绍完老师会根据你的回答用英语问你问题,比如介绍一下你的本科学校,或者家乡什么的。计网过一遍,会问两道题。接下来是重点,我当时是根据我成绩单,问了我本科学过的科目,比如pyth…

chrome切换前端模式_Chrome调试工具developer tool技巧 - 轩枫阁

Chrome这个浏览器赞的不能再赞了,给前端的开发调试工作带来了极大的效率提升。Chrome的简洁、快速吸引了无数人,它的启动速度、页面解析速度都很快,同时得益于Google V8的快速,Javascript执行速度也飞快。而且它对HTML5和CSS3的支…

oracle创建索引01652,建立数据表快照导致ora-01652异常

建立数据表快照导致ora-01652错误由于源表过大,数据查询速度较慢,在做后台的相关查询的时候较慢,于是决定创建数据快照,提高查询速度,快照创建语句如下:CREATE SNAPSHOT sn_ydmobilebankREFRESH COMPLETE S…

linux上安装python2.6.9_在Linux CentOS 6.6上安装Python 2.7.9

CentOS 6.6自带的是Python 2.6.6,而编译llvm需要Python 2.7以上。checking for python... /usr/bin/pythonchecking for python > 2.7... not foundconfigure: error: found python 2.6.6 (/usr/bin/python); required > 2.7yum中最新的也是Python 2.6.6&…

用python批量下载网络图片_python 批量下载网页里的图片

import requests import sys,re #设置提取图片url 的正则表达式 imgre re.compile(r" #存放找到的 图片url的列表 all_img_urls [] #图片下载后存放位置 save_path r‘/root‘ #获取指定网页中的图片url def get_img_url(tmpurl,tmpre,allimgurl,timeout10): headers …

php中cnum函数,PHP vprintf() 函数

更多实例例子 1使用格式值 %f&#xff1a;<?php $num1 123;$num2 456;vprintf("%f%f",array($num1,$num2));?>例子 2使用占位符&#xff1a;<?php $number 123;vprintf("有两位小数&#xff1a;%1\$.2f没有小数&#xff1a;%1\$u",array($n…

alter table add column多个字段_利用Python将多个excel合并到一个文件中

数据岗位的小伙伴可能经常会遇到这样一个问题&#xff1a;多个来源返回的数据怎么整合到一个文件中&#xff1f;手动经常会出错&#xff0c;下面介绍一种利用Python处理的方式&#xff1a;前期准备&#xff1a;1、多个excel需要进行数据整理&#xff0c;保证文件的结构一致&…

单链表操作实现getelem_c语言实现--带头结点单链表操作

可能是顺序表研究的细致了一点&#xff0c;单链表操作一下子就实现了。这里先实现带头结点的单链表操作。大概有以下知识点.1;结点&#xff1a;结点就是单链表中研究的数据元素&#xff0c;结点中存储数据的部分称为数据域&#xff0c;存储直接后继地址的部分称为指针域。2;结点…

php ouput buffer,Redis配置详解-客户端缓冲区 output buffer

客户端缓冲区 output buffer大概已经知道Redis是一个内存数据库&#xff0c;这意味着所有的数据都由RAM直接管理和提供的。因此Redis有着卓越的交付性能&#xff0c;Redis可以以亚毫秒级的延迟处理几万、几十万的请求。Redis&#xff0c;如同它的名字和设计&#xff0c;是一个移…

python布尔测试_Python布尔函数:用真值优化代码

Python布尔类型是Python的内置数据类型之一。它用来表示表达式的真实值。例如&#xff0c;表达式1<2为True&#xff0c;而表达式01为False。了解Python布尔值的行为对于在Python中良好编程是非常重要的。Python布尔类型Python布尔类型只有两个可能的值&#xff1a;TrueFalse…

结构体中vector自动为0_面试题:你是如何选择顺序存储数据结构的?

作者&#xff1a;Tarun Telang 来源&#xff1a;https://dzone.com/articles/arraylist-or-linkedlist本文为Java开发人员选择适当的顺序数据结构提供指导。ArrayList 和 LinkedList 是 Java 集合框架中用来存储对象引用列表的两个类。ArrayList 和 LinkedList 都实现 List 接口…