ThinkPHP自动完成中使用函数与回调方法实例

 更新时间:2014年11月29日 10:03:15   投稿:shichen2014  
这篇文章主要介绍了ThinkPHP自动完成中使用函数与回调方法,实例分析了ThinkPHP中自动填充的用法以及使用函数与回调的方法,是非常实用的技巧,需要的朋友可以参考下

本文实例讲述了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去除头尾空格的2种方法

    php去除头尾空格的2种方法

    这篇文章主要介绍了php去除头尾空格的2种方法,本文给出了用preg_replace替换、trim函数两种方法并给出了示例,需要的朋友可以参考下
    2015-03-03
  • 简单PHP会话(session)说明介绍

    简单PHP会话(session)说明介绍

    下面小编就为大家带来一篇简单PHP会话(session)说明介绍。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08
  • ThinkPHP使用Smarty第三方插件方法小结

    ThinkPHP使用Smarty第三方插件方法小结

    这篇文章主要介绍了ThinkPHP使用Smarty第三方插件方法,结合实例形式总结分析了ThinkPHP使用Smarty模板的具体步骤与相关注意事项,需要的朋友可以参考下
    2016-03-03
  • PHP Filter过滤器全面解析

    PHP Filter过滤器全面解析

    PHP 过滤器用于验证和过滤来自非安全来源的数据。本文给大家全面解析PHP Filter过滤器的相关知识,非常不错,感兴趣的朋友一起学习吧
    2016-08-08
  • PHP实现类似题库抽题效果

    PHP实现类似题库抽题效果

    这篇文章主要介绍了PHP实现类似题库抽题效果,通过一个简单的小例子给大家介绍的非常详细,需要的朋友参考下吧
    2018-08-08
  • php 如何禁用eval() 函数实例详解

    php 如何禁用eval() 函数实例详解

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险并经常会出现一些问题,今天我们就一起来看看eval函数对数组的操作及php 如何禁用eval() 函数,需要的朋友可以参考下
    2016-12-12
  • php批量删除操作(数据访问)

    php批量删除操作(数据访问)

    这篇文章主要为大家详细介绍了php批量删除操作,批量删除页面和.除处理界面,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • php生成数组的使用示例 php全组合算法

    php生成数组的使用示例 php全组合算法

    要求实现一个7个元素的数组,取出这个数组中的5个元素,生成新的数组,这些数组是唯一的
    2014-01-01
  • YII2自动登录Cookie总是失效的解决方法

    YII2自动登录Cookie总是失效的解决方法

    这篇文章主要给大家介绍了关于YII2自动登录Cookie总是失效的解决方法,文中给出了详细的解决方法,对遇到这个问题的朋友们具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • php无限级分类实现评论及回复功能

    php无限级分类实现评论及回复功能

    这篇文章主要为大家详细介绍了php无限级分类实现评论及回复功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02

最新评论