[php] thinkphp 开发注意

Thinkphp开发总结,在开发过程中难免会遇到 一些小问题,这些小问题需要注意一下,由于本人好忘,所以在这里做个记录,也希望能帮到大家

 

1、在使用自动验证的时候,指定附加规则callback时,使用echo/die()/exit()来输出 (function应该也是这样的)

代码示例:

 

// 自动验证
protected $_validate = array(
    array('username', 'verifyUser', '', self::MUST_VALIDATE, 'callback', self::MODEL_INSERT),
    array('password', 'require', '密码不能为空!', self::MUST_VALIDATE, null, self::MODEL_INSERT),
    array('repassword', 'password', '两次输入的密码不一致', self::MUST_VALIDATE, 'confirm', self::MODEL_INSERT),
    array('protocol', 'require', '没有同意本公司协议!', self::MUST_VALIDATE, null, self::MODEL_INSERT),
);

// 验证用户
protected function verifyUser() {
    $str = '';
    $username = trim(I('post.username'));

    if(!preg_match('/^[a-zA-Z_]/', $username)) {
        $str .= '用户名必须以字母或下划线开头';
    } else if(strlen($username) < 4) {
        $str.= '用户名长度不够!';
    }

    if($str != '') {   
    exit($str);
}}

 

 

 

2、使用自动完成功能时,指定附加规则callback时,要用return来返回 (function应该也是这样的)

代码示例:

 

// 自动完成
protected $_auto = array(
    array('create_time', 'createTime',self::MODEL_INSERT ,'callback'),
    array('avatar', 'uploadAvatar',self::MODEL_INSERT ,'callback')
);

// 创建时间
protected function createTime() {
    return time();
}

 

写到最后,推广下一个不错的分享平台:http://www.techshare100.com/,欢迎大家加入

 

 

你可能感兴趣的:([php] thinkphp 开发注意)