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 mssql 分页SQL语句优化 持续影响
Apr 26 PHP
PHP XML操作类DOMDocument
Dec 16 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
PHP文件操作方法汇总
Jul 01 PHP
PHPStrom中实用的功能和快捷键大全
Sep 23 PHP
CI映射(加载)数据到view层的方法
Mar 28 PHP
浅谈PHP eval()函数定义和用法
Jun 21 PHP
Centos PHP 扩展Xchche的安装教程
Jul 09 PHP
PHP利用百度ai实现文本和图片审核
May 08 PHP
php和asp语法上的区别总结
May 12 PHP
PHP中关于php.ini参数优化详解
Feb 28 PHP
PDO实现学生管理系统
Mar 21 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
全国FM电台频率大全 - 29 青海省
2020/03/11 无线电
Laravel 4 初级教程之Pages、表单验证
2014/10/30 PHP
PHP  Yii清理缓存的实现方法
2016/11/10 PHP
smarty模板的使用方法实例分析
2019/09/18 PHP
php post换行的方法
2020/02/03 PHP
Javascript实例教程(19) 使用HoTMetal(4)
2006/12/23 Javascript
SUN的《AJAX与J2EE》全文译了
2007/02/23 Javascript
Javascript 构造函数,公有,私有特权和静态成员定义方法
2009/11/30 Javascript
jQueryUI如何自定义组件实现代码
2010/11/14 Javascript
js原生态函数中使用jQuery中的 $(this)无效的解决方法
2011/05/25 Javascript
Jquery+CSS3实现一款简洁大气带滑动效果的弹出层
2013/05/15 Javascript
Javascript浅谈之引用类型
2013/12/18 Javascript
使用jQuery实现的掷色子游戏动画效果
2014/03/14 Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
2015/02/05 Javascript
javascript密码强度校验代码(两种方法)
2015/08/10 Javascript
jQuery对html元素的取值与赋值实例详解
2015/12/18 Javascript
Javascript 5种方法实现过滤删除前后所有空格
2016/06/22 Javascript
vue.js从安装到搭建过程详解
2017/03/17 Javascript
详解Node项目部署到云服务器上
2017/07/12 Javascript
Vue应用部署到服务器的正确方式
2017/07/15 Javascript
解决vue-cli webpack打包后加载资源的路径问题
2018/09/25 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
小程序简单两栏瀑布流效果的实现
2019/12/18 Javascript
Python之多线程爬虫抓取网页图片的示例代码
2018/01/10 Python
Python实现自定义顺序、排列写入数据到Excel的方法
2018/04/23 Python
Python实现注册、登录小程序功能
2018/09/21 Python
Python中的取模运算方法
2018/11/10 Python
pandas的qcut()方法详解
2019/07/06 Python
基于sklearn实现Bagging算法(python)
2019/07/11 Python
python提取xml里面的链接源码详解
2019/10/15 Python
Python上下文管理器用法及实例解析
2019/11/11 Python
《小熊住山洞》教学反思
2014/02/21 职场文书
九九重阳节标语
2014/10/07 职场文书
2019事业单位个人工作总结范文
2019/08/26 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
python playwright之元素定位示例详解
2022/07/23 Python