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 相关文章推荐
coreseek 搜索英文的问题详解
Jun 08 PHP
php使用百度翻译api示例分享
Jan 31 PHP
Win2003+apache+PHP+SqlServer2008 配置生产环境
Jul 29 PHP
YII中assets的使用示例
Jul 31 PHP
PHP实现全角字符转为半角方法汇总
Jul 09 PHP
php中二分法查找算法实例分析
Sep 22 PHP
thinkphp3.2实现在线留言提交验证码功能
Jul 19 PHP
php正确输出json数据的实例讲解
Aug 21 PHP
PHP基于openssl实现的非对称加密操作示例
Jan 11 PHP
PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】
Feb 25 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 PHP
PHP基于openssl实现非对称加密代码实例
Jun 19 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
织梦模板标记简介
2007/03/11 PHP
ThinkPHP多语言支持与多模板支持概述
2014/08/22 PHP
php广告加载类用法实例
2014/09/23 PHP
window.onresize 多次触发的解决方法
2013/11/08 Javascript
全面解析Bootstrap手风琴效果
2020/04/17 Javascript
jQuery中on绑定事件后引发的事件冒泡问题如何解决
2016/05/25 Javascript
微信小程序 canvas API详解及实例代码
2016/10/08 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
Angular2实现自定义双向绑定属性
2017/03/22 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
微信小程序实现随机验证码功能
2018/12/20 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
多种类型jQuery网页验证码插件代码实例
2021/01/09 jQuery
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
Python使用pylab库实现画线功能的方法详解
2017/06/08 Python
Python实现桶排序与快速排序算法结合应用示例
2017/11/22 Python
Django项目开发中cookies和session的常用操作分析
2018/07/03 Python
在Pycharm中使用GitHub的方法步骤
2019/06/13 Python
基于Django ORM、一对一、一对多、多对多的全面讲解
2019/07/26 Python
Python正则表达式如何匹配中文
2020/05/27 Python
python opencv角点检测连线功能的实现代码
2020/11/24 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
html5中地理位置定位api接口开发应用小结
2013/01/04 HTML / CSS
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
What is EJB
2016/07/22 面试题
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
三年级语文教学反思
2014/02/01 职场文书
委托书样本
2014/04/02 职场文书
2014年党员自我评议总结
2014/09/23 职场文书
2014年社区宣传工作总结
2014/12/02 职场文书
2014年图书馆个人工作总结
2014/12/18 职场文书
鸟的天堂导游词
2015/01/31 职场文书
深入浅析Django MTV模式
2021/09/04 Python
《战锤40K:暗潮》跳票至9月 公布新宣传片
2022/04/03 其他游戏