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 相关文章推荐
ADODB结合SMARTY使用~超级强
Nov 25 PHP
解析php入库和出库
Jun 25 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
Jun 17 PHP
PHP简单数据库操作类实例【支持增删改查及链式操作】
Oct 10 PHP
详解Yii2 定制表单输入字段的标签和样式
Jan 04 PHP
PHP实现ASCII码与字符串相互转换的方法
Apr 29 PHP
PHP实现生成模糊图片的方法示例
Dec 21 PHP
PHP中in_array的隐式转换的解决方法
Mar 06 PHP
PHP通过curl获取接口URL的数据方法
May 31 PHP
实现PHP中session存储及删除变量
Oct 15 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
Mar 25 PHP
Laravel框架控制器的request与response用法示例
Sep 30 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
PHP实现事件机制的方法
2015/07/10 PHP
PHP+redis实现的悲观锁机制示例
2018/06/12 PHP
PHP addAttribute()函数讲解
2019/02/03 PHP
PHP内部实现打乱字符串顺序函数str_shuffle的方法
2019/02/14 PHP
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
AngularJS实现表单手动验证和表单自动验证
2015/12/09 Javascript
javascript每日必学之运算符
2016/02/16 Javascript
微信小程序 框架详解及实例应用
2016/09/26 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
原生JS实现图片网格式渐显、渐隐效果
2017/06/05 Javascript
D3.js实现简洁实用的动态仪表盘的示例
2018/04/04 Javascript
JS实现调用本地摄像头功能示例
2018/05/18 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
[26:40]DOTA2上海特级锦标赛A组资格赛#1 Secret VS MVP.Phx第一局
2016/02/25 DOTA
python实现中文分词FMM算法实例
2015/07/10 Python
Python实现完整的事务操作示例
2017/06/20 Python
Java分治归并排序算法实例详解
2017/12/12 Python
python实现计数排序与桶排序实例代码
2019/03/28 Python
python虚拟环境完美部署教程
2019/08/06 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
Python 实现敏感目录扫描的示例代码
2020/05/21 Python
Python文件操作模拟用户登陆代码实例
2020/06/09 Python
YSL圣罗兰美妆英国官网:Yves Saint Laurent Beauty UK
2019/08/03 全球购物
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
给物业的表扬信
2014/01/21 职场文书
设备动力科岗位职责范本
2014/02/23 职场文书
青年文明号创建承诺
2014/03/31 职场文书
2015年大学生村官工作总结
2015/04/21 职场文书
单位工资证明范本
2015/06/12 职场文书
2015年国庆节广播稿
2015/08/19 职场文书
2016大学军训心得体会
2016/01/11 职场文书
《世界多美呀》教学反思
2016/02/22 职场文书
CSS预处理框架——Stylus
2021/04/21 HTML / CSS
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android