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 05 PHP
php仿discuz分页效果代码
Oct 02 PHP
php escape URL编码
Dec 10 PHP
PHP 手机归属地查询 api
Feb 08 PHP
ThinkPHP CURD方法之limit方法详解
Jun 18 PHP
phpstorm编辑器乱码问题解决
Dec 01 PHP
详解PHP中的PDO类
Jul 06 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
Mar 01 PHP
简单谈谈PHP中的Reload操作
Dec 12 PHP
PHP设计模式之观察者模式定义与用法示例
Aug 04 PHP
php PDO属性设置与操作方法分析
Dec 27 PHP
PHP扩展mcrypt实现的AES加密功能示例
Jan 29 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 set_error_handler()函数使用详解(示例)
2013/11/12 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
用cssText批量修改样式
2009/08/29 Javascript
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
jquery实现心算练习代码
2010/12/06 Javascript
Eval and new funciton not the same thing
2012/12/27 Javascript
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
javascript实时获取鼠标坐标值并显示的方法
2015/04/30 Javascript
JS实现的左侧竖向滑动菜单效果代码
2015/10/19 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
vue结合Echarts实现点击高亮效果的示例
2018/03/17 Javascript
使用Angular CLI进行Build(构建)和Serve详解
2018/03/24 Javascript
JS打印彩色菱形的实例代码
2018/08/15 Javascript
javascript实现的字符串转换成数组操作示例
2019/06/13 Javascript
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
在vue中封装方法以及多处引用该方法详解
2020/08/14 Javascript
[02:36]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma 选手采访
2021/03/11 DOTA
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
使用Python生成随机密码的示例分享
2016/02/18 Python
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
解决python3中解压zip文件是文件名乱码的问题
2018/03/22 Python
Python定时任务sched模块用法示例
2018/07/16 Python
Apache,wsgi,django 程序部署配置方法详解
2019/07/01 Python
python读取csv文件指定行的2种方法详解
2020/02/13 Python
驴妈妈旅游网:中国新型的B2C旅游电子商务网站
2016/08/16 全球购物
贝玲妃英国官网:Benefit英国
2018/02/03 全球购物
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
车间班长岗位职责
2013/11/30 职场文书
大学活动邀请函
2014/01/28 职场文书
私人会所最新创业计划书范文
2014/03/24 职场文书
3分钟演讲稿
2014/04/30 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
幼儿园元旦主持词
2015/07/06 职场文书