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 相关文章推荐
一个简单实现多条件查询的例子
Oct 09 PHP
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
Jan 15 PHP
PHP 函数学习简单小结
Jul 08 PHP
PHP编码转换函数 自动转换字符集支持数组转换
Dec 16 PHP
apache和php之间协同工作的配置经验分享
Apr 08 PHP
Yii rules常用规则示例
Mar 15 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
Jul 01 PHP
php禁用函数设置及查看方法详解
Jul 25 PHP
Laravel5权限管理方法详解
Jul 26 PHP
Laravel使用支付宝进行支付的示例代码
Aug 16 PHP
PHP实现实时生成并下载超大数据量的EXCEL文件详解
Oct 23 PHP
php多进程中的阻塞与非阻塞操作实例分析
Mar 04 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加密解密函数Authcode()修复版代码
2015/04/05 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
Javascript Cookie读写删除操作的函数
2010/03/02 Javascript
使用jQuery Ajax功能时需要注意的一个问题(内存溢出)
2012/05/30 Javascript
jQuery中val()方法用法实例
2014/12/25 Javascript
JavaScript实现基于十进制的四舍五入实例
2015/07/17 Javascript
javascript数组去重的六种方法汇总
2015/08/16 Javascript
原生js页面滚动延迟加载图片
2015/12/20 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
javascript验证香港身份证的格式或真实性
2017/02/07 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
微信小程序 转发功能的实现
2017/08/04 Javascript
React Native 集成jpush-react-native的示例代码
2017/08/16 Javascript
使用sessionStorage解决vuex在页面刷新后数据被清除的问题
2018/04/13 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
JS计算两个数组的交集、差集、并集、补集(多种实现方式)
2019/05/21 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
利用 JavaScript 实现并发控制的示例代码
2020/12/31 Javascript
Python中给List添加元素的4种方法分享
2014/11/28 Python
python批量下载抖音视频
2019/06/17 Python
CSS3盒子模型详解
2013/04/24 HTML / CSS
美国知名日用品连锁超市:Dollar General(多来店)
2017/01/14 全球购物
澳大利亚游乐场设备品牌:Lifespan Kids
2019/05/24 全球购物
英文翻译的自我评价语句
2013/10/04 职场文书
求职推荐信
2013/10/28 职场文书
物流司机岗位职责
2013/12/28 职场文书
公司年会演讲稿范文
2014/01/11 职场文书
生产文员岗位职责
2014/04/05 职场文书
班主任对学生的评语
2014/04/26 职场文书
教师作风整顿个人剖析材料
2014/10/10 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
2016年春节慰问信息大全
2015/11/30 职场文书
2016年度员工工作表现评语
2015/12/02 职场文书
个人道歉信大全
2019/04/11 职场文书