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 syntax error, unexpected $end 错误的一种原因及解决
Oct 25 PHP
封装一个PDO数据库操作类代码
Sep 09 PHP
ThinkPHP采用模块和操作分析
Apr 18 PHP
PHP curl_setopt()函数实例代码与参数分析
Jun 02 PHP
PHP中ob_start函数的使用说明
Nov 11 PHP
Laravel框架学习笔记(一)环境搭建
Oct 15 PHP
PHP实现批量生成App各种尺寸Logo
Mar 19 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
php实现的http请求封装示例
Nov 08 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
PHP使用Redis实现防止大并发下二次写入的方法
Oct 09 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 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
深入理解require与require_once与include以及include_once的区别
2013/06/05 PHP
php中的filesystem文件系统函数介绍及使用示例
2014/02/13 PHP
CodeIgniter配置之config.php用法实例分析
2016/01/19 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
2020/04/29 PHP
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
node.js中的fs.unlinkSync方法使用说明
2014/12/15 Javascript
jQuery+html5实现div弹出层并遮罩背景
2015/04/15 Javascript
javascript基于DOM实现权限选择实例分析
2015/05/14 Javascript
AJAX实现瀑布流触发分页与分页触发瀑布流的方法
2016/05/23 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
prototype与__proto__区别详细介绍
2017/01/09 Javascript
简单的jQuery拖拽排序效果的实现(增强动态)
2017/02/09 Javascript
JS获取日期的方法实例【昨天,今天,明天,前n天,后n天的日期】
2017/09/28 Javascript
ionic选择多张图片上传的示例代码
2017/10/10 Javascript
在Vue项目中取消ESLint代码检测的步骤讲解
2019/01/27 Javascript
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
[08:06]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant 选手采访
2021/03/11 DOTA
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
Python的多态性实例分析
2015/07/07 Python
Python 中 function(#) (X)格式 和 (#)在Python3.*中的注意事项
2018/11/30 Python
python的继承知识点总结
2018/12/10 Python
pandas DataFrame索引行列的实现
2019/06/04 Python
python抓取多种类型的页面方法实例
2019/11/20 Python
pytorch 中pad函数toch.nn.functional.pad()的用法
2020/01/08 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
详解用Python进行时间序列预测的7种方法
2020/03/13 Python
施华洛世奇英国官网:SWAROVSKI英国
2017/03/13 全球购物
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
ASOS西班牙官网:英国在线时尚和美容零售商
2020/01/10 全球购物
物业管理专业求职信
2014/06/11 职场文书
2014年协会工作总结
2014/11/22 职场文书
教师节获奖感言
2015/07/31 职场文书
2016年乡镇综治宣传月活动总结
2016/03/16 职场文书
使用ORM新增数据在Mysql中的操作步骤
2021/07/26 MySQL
Python实现制作销售数据可视化看板详解
2021/11/27 Python