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 相关文章推荐
默默简单的写了一个模板引擎
Jan 02 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
Apr 13 PHP
在PHP中PDO解决中文乱码问题的一些补充
Sep 06 PHP
PHP 万年历实现代码
Oct 18 PHP
PHP中include与require使用方法区别详解
Oct 19 PHP
PHP页面转UTF-8中文编码乱码的解决办法
Oct 20 PHP
php fread读取文件注意事项
Sep 24 PHP
PHP用户管理中常用接口调用实例及解析(含源码)
Mar 09 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
Laravel基础_关于view共享数据的示例讲解
Oct 14 PHP
PHP数组array类常见操作示例
May 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
一个程序下载的管理程序(三)
2006/10/09 PHP
PHP中如何判断AJAX提交的数据
2012/02/05 PHP
spl_autoload_register与autoload的区别详解
2013/06/03 PHP
关于PHP session 存储方式的详细介绍
2013/06/25 PHP
基于node.js的快速开发透明代理
2010/12/25 Javascript
基于jquery的jqDnR拖拽溢出的修改
2011/02/12 Javascript
javascript判断iphone/android手机横竖屏模式的函数
2011/12/20 Javascript
Javascript 按位左移运算符使用介绍(
2014/02/04 Javascript
JavaScript访问CSS属性的几种方式介绍
2014/07/21 Javascript
JavaScript 面向对象与原型
2015/04/10 Javascript
js实现获取当前时间是本月第几周的方法
2015/08/11 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
Vue.js每天必学之组件与组件间的通信
2016/09/08 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
JavaScript之iterable_动力节点Java学院整理
2017/06/29 Javascript
r.js来合并压缩css文件的示例
2018/04/26 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
2020/06/01 Javascript
微信小程序入门之指南针
2020/10/22 Javascript
Python中的groupby分组功能的实例代码
2018/07/11 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
2019/02/20 Python
解决django后台样式丢失,css资源加载失败的问题
2019/06/11 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
2020/09/26 Python
python线程池 ThreadPoolExecutor 的用法示例
2020/10/10 Python
python如何快速拼接字符串
2020/10/28 Python
如何基于Python按行合并两个txt
2020/11/03 Python
美国最大的团购网站:Groupon
2016/07/23 全球购物
简述你对Statement,PreparedStatement,CallableStatement的理解
2013/03/25 面试题
土木工程毕业生推荐信
2013/10/28 职场文书
高中生自我评价个人范文
2013/11/09 职场文书
歌颂党的演讲稿
2014/09/10 职场文书
2015年秋学期教研工作总结
2015/10/14 职场文书
九年级语文教学反思
2016/03/03 职场文书
离婚协议书范本(2016最新版)
2016/03/18 职场文书
Python+SeaTable实现计算两个日期间的工作日天数
2022/07/07 Python