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获取mysql版本的几种方法小结
Mar 25 PHP
基于Windows下Apache PHP5.3.1安装教程
Jan 08 PHP
一些PHP Coding Tips(php小技巧)[2011/04/02最后更新]
May 02 PHP
基于php socket(fsockopen)的应用实例分析
Jun 02 PHP
浅谈discuz密码加密的方式
May 22 PHP
PHP中使用php5-ffmpeg撷取视频图片实例
Jan 07 PHP
php操作xml入门之cdata区段
Jan 23 PHP
py文件转exe时包含paramiko模块出错解决方法
Aug 12 PHP
PHP删除数组中特定元素的两种方法
Feb 28 PHP
PHP中的empty、isset、isnull的区别与使用实例
Mar 22 PHP
php设计模式之单例模式用法经典示例分析
Sep 20 PHP
浅析PHP中json_encode与json_decode的区别
Jul 15 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
mysql limit查询优化分析
2008/11/12 PHP
解析thinkphp的左右值无限分类
2013/06/20 PHP
php二分查找二种实现示例
2014/03/12 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
dojo学习第二天 ajax异步请求之绑定列表
2011/08/29 Javascript
关于 文本框默认值 的操作js代码
2012/01/12 Javascript
node.js中的http.response.write方法使用说明
2014/12/14 Javascript
浅谈EasyUI中Treegrid节点的删除
2015/03/01 Javascript
JavaScript中String.prototype用法实例
2015/05/20 Javascript
JS实现添加,替换,删除节点元素的方法
2016/06/30 Javascript
如何利用JSHint减少JavaScript的错误
2016/08/23 Javascript
js指定步长实现单方向匀速运动
2017/07/17 Javascript
Js面试算法详解
2018/04/08 Javascript
在Vue-cli里应用Vuex的state和mutations方法
2018/09/16 Javascript
基于JavaScript实现一个简单的Vue
2018/09/26 Javascript
vue中将html字符串转换成html后遇到的问题小结
2018/12/10 Javascript
Python 文件重命名工具代码
2009/07/26 Python
python使用range函数计算一组数和的方法
2015/05/07 Python
火车票抢票python代码公开揭秘!
2018/03/08 Python
python读写LMDB文件的方法
2018/07/02 Python
Python实现购物评论文本情感分析操作【基于中文文本挖掘库snownlp】
2018/08/07 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
关于Python内存分配时的小秘密分享
2019/09/05 Python
日本快乐生活方式购物网站:Shop Japan
2018/07/17 全球购物
NHL官方在线商店:Shop.NHL.com
2020/05/01 全球购物
新闻记者个人求职的自我评价
2013/11/28 职场文书
单位门卫岗位职责
2013/12/20 职场文书
个人收入证明范本
2014/01/12 职场文书
干部鉴定材料
2014/05/18 职场文书
计算机网络及管理学专业求职信
2014/06/05 职场文书
设计专业毕业生求职信
2014/06/25 职场文书
公司自我介绍演讲稿
2014/08/21 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
运动员代表致辞
2015/07/29 职场文书
财产分割协议书
2016/03/22 职场文书
python pygame入门教程
2021/06/01 Python