ThinkPHP自动完成中使用函数与回调方法实例


Posted in PHP onNovember 29, 2014

本文实例讲述了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框架程序设计有所帮助。

PHP 相关文章推荐
PHP安全配置
Dec 06 PHP
用php实现让页面只能被百度gogole蜘蛛访问的方法
Dec 29 PHP
php 读取文件乱码问题
Feb 20 PHP
带密匙的php加密解密示例分享
Jan 29 PHP
php随机显示图片的简单示例
Feb 15 PHP
php实例分享之二维数组排序
May 15 PHP
Destoon模板制作简明教程
Jun 20 PHP
PHP中遇到BOM、编码导致json_decode函数无法解析问题
Jul 02 PHP
smarty模板引擎中变量及变量修饰器用法实例
Jan 22 PHP
php+ajax实现无刷新动态加载数据技术
Apr 28 PHP
PHP实现从上往下打印二叉树的方法
Jan 18 PHP
PHP实现简易计算器功能
Aug 28 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
Nov 29 #PHP
Sublime里直接运行PHP配置方法
Nov 28 #PHP
PHP实现将HTML5中Canvas图像保存到服务器的方法
Nov 28 #PHP
PHP使用get_headers函数判断远程文件是否存在的方法
Nov 28 #PHP
php的mssql数据库连接类实例
Nov 28 #PHP
smarty中post用法实例
Nov 28 #PHP
smarty简单入门实例
Nov 28 #PHP
You might like
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
ThinkPHP框架实现数据增删改
2017/05/07 PHP
二行代码解决全部网页木马
2008/03/28 Javascript
基于jquery的inputlimiter 实现字数限制功能
2010/05/30 Javascript
二叉树先序遍历的非递归算法具体实现
2014/01/09 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
使用nodejs、Python写的一个简易HTTP静态文件服务器
2014/07/18 NodeJs
js获取json元素数量的方法
2015/01/27 Javascript
jquery实现对联广告的方法
2015/02/05 Javascript
用JS实现图片轮播效果代码(一)
2016/06/26 Javascript
jQuery焦点图左右转换效果
2016/12/12 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
微信小程序wxs实现吸顶效果
2020/01/08 Javascript
[01:07:17]EG vs Optic Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
python使用cookie库操保存cookie详解
2014/03/03 Python
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
详解python中的json的基本使用方法
2016/12/21 Python
Python算法输出1-9数组形成的结果为100的所有运算式
2017/11/03 Python
在python3.5中使用OpenCV的实例讲解
2018/04/02 Python
Django 外键的使用方法详解
2019/07/19 Python
使用python远程操作linux过程解析
2019/12/04 Python
Django中使用MySQL5.5的教程
2019/12/18 Python
如何使用python传入不确定个数参数
2020/02/18 Python
详解python中的闭包
2020/09/07 Python
Python CategoricalDtype自定义排序实现原理解析
2020/09/11 Python
Staples加拿大官方网站:办公用品一站式采购
2016/09/25 全球购物
美国网上眼镜商城:Zenni Optical
2016/11/20 全球购物
英国豪华文具和皮具配件经典老品牌:Smythson(斯迈森)
2018/04/19 全球购物
流动人口婚育证明范本
2014/09/26 职场文书
2015年简历自我评价范文
2015/03/11 职场文书
工作失职自我检讨书
2015/05/05 职场文书
亲戚关系证明
2015/06/24 职场文书
企业财务管理制度范本
2015/08/04 职场文书
Pygame如何使用精灵和碰撞检测
2021/11/17 Python