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在页面中调用fckeditor编辑器的方法
Jun 10 PHP
php array的学习笔记
May 16 PHP
php中json_decode()和json_encode()的使用方法
Jun 04 PHP
基于PHP CURL获取邮箱地址的详解
Jun 03 PHP
解析PHP工厂模式的好处
Jun 18 PHP
ThinkPHP实例化模型的四种方法概述
Aug 22 PHP
php实现refresh刷新页面批量导入数据的方法
Dec 23 PHP
深入理解PHP中的Streams工具
Jul 03 PHP
谈谈你对Zend SAPIs(Zend SAPI Internals)的理解
Nov 10 PHP
thinkphp验证码的实现(form、ajax实现验证)
Jul 28 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
Mar 15 PHP
PHP读取word文档的方法分析【基于COM组件】
Aug 01 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
使用PHPMYADMIN操作mysql数据库添加新用户和数据库的方法
2010/04/02 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
通过PHP的Wrapper无缝迁移原有项目到新服务的实现方法
2020/04/02 PHP
js版本A*寻路算法
2006/12/22 Javascript
原生javascript图片自动或手动切换示例附演示源码
2013/09/04 Javascript
使用js解决由border属性引起的div宽度问题
2013/11/26 Javascript
js验证上传图片的方法
2015/05/12 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
详解Javascript中的原型OOP
2016/10/12 Javascript
干货!教大家如何选择Vue和React
2017/03/13 Javascript
jQuery插件之validation插件
2017/03/29 jQuery
在vue项目中引入highcharts图表的方法(详解)
2018/03/05 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
angularjs1.X 重构controller 的方法小结
2019/08/15 Javascript
python判断windows系统是32位还是64位的方法
2015/05/11 Python
使用rst2pdf实现将sphinx生成PDF
2016/06/07 Python
python中import reload __import__的区别详解
2017/10/16 Python
python ansible服务及剧本编写
2017/12/29 Python
使用python批量读取word文档并整理关键信息到excel表格的实例
2018/11/07 Python
Python中一个for循环循环多个变量的示例
2019/07/16 Python
如何使用pycharm连接Databricks的步骤详解
2020/09/23 Python
使用css3实现超炫的loading加载动画效果
2014/05/07 HTML / CSS
英国领先的隐形眼镜在线供应商:Lenstore.co.uk
2019/11/24 全球购物
如何向接受结构参数的函数传入常数值
2016/02/17 面试题
介绍一下JNDI的基本概念
2013/07/26 面试题
建筑专业自我鉴定
2013/10/22 职场文书
物理专业本科生自荐信
2014/01/30 职场文书
个人函授自我鉴定
2014/03/25 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
工作经历证明书范文
2014/11/02 职场文书
2014年度考核工作总结
2014/12/24 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
获奖感言怎么写
2015/07/31 职场文书
公司岗位说明书
2015/10/08 职场文书