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 数据库的一个例子
Oct 09 PHP
php中的实现trim函数代码
Mar 19 PHP
PHP程序员面试 切忌急功近利(更需要注重以后的发展)
Sep 01 PHP
PHP投票系统防刷票判断流程分析
Feb 04 PHP
CodeIgniter上传图片成功的全部过程分享
Aug 12 PHP
PHP实现显示照片exif信息的方法
Jul 11 PHP
php动态生成版权所有信息的方法
Mar 24 PHP
PHP创建word文档的方法(平台无关)
Mar 29 PHP
PHP单例模式是什么 php实现单例模式的方法
May 14 PHP
PHP引用返回用法示例
May 28 PHP
php使用Jpgraph创建柱状图展示年度收支表效果示例
Feb 15 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
Mar 25 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
cmd下运行php脚本
2008/11/25 PHP
探讨php中防止SQL注入最好的方法是什么
2013/06/10 PHP
在win7中搭建Linux+PHP 开发环境
2014/10/08 PHP
php三种实现多线程类似的方法
2015/10/30 PHP
使用phpexcel类实现excel导入mysql数据库功能(实例代码)
2016/05/12 PHP
快速查找数组中的某个元素并返回下标示例
2013/09/03 Javascript
关于Javascript作用域链的八点总结
2013/12/06 Javascript
Bootstrap编写一个在当前网页弹出可关闭的对话框 非弹窗
2016/06/30 Javascript
深入浅析JavaScript中的3DES
2016/08/24 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
js select下拉联动 更具级联性!
2020/04/17 Javascript
jQuery图片切换动画效果
2017/02/28 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
Iscrool下拉刷新功能实现方法(推荐)
2017/06/26 Javascript
python使用wxPython打开并播放wav文件的方法
2015/04/24 Python
Using Django with GAE Python 后台抓取多个网站的页面全文
2016/02/17 Python
玩转python爬虫之正则表达式
2016/02/17 Python
Python设置默认编码为utf8的方法
2016/07/01 Python
python之matplotlib学习绘制动态更新图实例代码
2018/01/23 Python
利用scrapy将爬到的数据保存到mysql(防止重复)
2018/03/31 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
使用Python监控文件内容变化代码实例
2018/06/04 Python
Python将多个list合并为1个list的方法
2018/06/27 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
解决TensorFlow程序无限制占用GPU的方法
2020/06/30 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
canvas 阴影和图形变换的示例代码
2018/01/02 HTML / CSS
韩国美国时尚服装和美容在线全球市场:KOODING
2018/11/07 全球购物
世界上最大的皮肤科医生拥有和经营的美容网站:LovelySkin
2021/01/03 全球购物
存储过程的优点有哪些
2012/09/27 面试题
保安员岗位职责
2013/11/17 职场文书
三下乡活动方案
2014/01/31 职场文书
毕业论文致谢信
2015/05/14 职场文书
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers