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系列学习之日期函数使用介绍
Aug 18 PHP
PHP分多步骤填写发布信息的简单方法实例代码
Sep 23 PHP
php-cli简介(不会Shell语言一样用Shell)
Jun 03 PHP
PHP使用mysqldump命令导出数据库
Apr 14 PHP
以实例全面讲解PHP中多进程编程的相关函数的使用
Aug 18 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
Jan 11 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
May 07 PHP
PHP中Socket连接及读写数据超时问题分析
Jul 19 PHP
PHP长网址与短网址的实现方法
Oct 13 PHP
php-fpm添加service服务的例子
Apr 27 PHP
php设计模式之单例模式用法经典示例分析
Sep 20 PHP
Laravel修改验证提示信息为中文的示例
Oct 23 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
ubuntu10.04配置 nginx+php-fpm模式的详解
2013/06/03 PHP
codeigniter中view通过循环显示数组数据的方法
2015/03/20 PHP
PHP实现全角字符转为半角方法汇总
2015/07/09 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
2016/09/09 PHP
浅谈laravel框架sql中groupBy之后排序的问题
2019/10/17 PHP
firefox中JS读取XML文件
2006/12/21 Javascript
js form 验证函数 当前比较流行的错误提示
2009/06/23 Javascript
javascript 三种编解码方式
2010/02/01 Javascript
document.getElementById的简写方式(获取id对象的简略写法)
2010/09/10 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
JavaScript中的操作符==与===介绍
2014/12/31 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
简单实现js页面切换功能
2021/01/10 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
form表单数据封装成json格式并提交给服务器的实现方法
2017/12/14 Javascript
深入理解ES6之数据解构的用法
2018/01/13 Javascript
详解vue-loader在项目中是如何配置的
2018/06/04 Javascript
element-ui树形控件后台返回的数据+生成组织树的工具类
2020/03/05 Javascript
vue使用require.context实现动态注册路由
2020/12/25 Vue.js
用smtplib和email封装python发送邮件模块类分享
2014/02/17 Python
python3+PyQt5实现拖放功能
2018/04/24 Python
Python视频爬虫实现下载头条视频功能示例
2018/05/07 Python
python 将print输出的内容保存到txt文件中
2018/07/17 Python
Python 获取中文字拼音首个字母的方法
2018/11/28 Python
简单了解django缓存方式及配置
2019/07/19 Python
苹果香港官方商城:Apple香港
2016/09/14 全球购物
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
荷兰美妆护肤品海淘网站:Beautinow(中文)
2020/11/22 全球购物
周鸿祎:教你写创业计划书
2013/12/30 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
生产工厂门卫岗位职责
2014/09/26 职场文书
学校领导干部民主生活会整改方案
2014/09/29 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书
入党积极分子个人总结
2015/03/02 职场文书