ThinkPHP中的三大自动简介

2025-05-29 0 69

本文较为详细的讲述了ThinkPHP中的三大自动,是非常重要的应用,分享给大家供大家参考。具体如下:

一、自动验证

格式如下:

?

1
array('验证字段','验证规则','错误提示','验证条件','附加规则','验证时间')

参数说明:

验证字段:需要验证表单字段名称
验证规则:必须要结合附加规则一起使用
错误提示:如果出现错误,抛出一个什么样的错误提示告知用户
验证条件:0、1、2
附加规则:1、regex使用正则验证 2、function使用函数验证 3、callback回调 4、confirm验证表单当中两个字段是否相同 5、验证是否等于某个值 6、in是否在某一个范围内 7、验证是否唯一
TP封装:require 字段必须验证;eamil 验证邮箱;url 验证url地址;currency 货币;number 数字;
验证时间:指数据库操作时间的验证时机,新增数据时验证Model::MODEL_INSERT;编辑的时候验证Model::MODEL_UPDATE;全部情况下验证Model::MODEL_BOTH;

aoli/Home/Tpl/default/User/reg.html页面如下:

?

1

2

3

4

5

6

7

8
<form action="__URL__/regadd" method="post">

用户名:<input type="text" name="username" /><br />

密码:<input type="password" name="password" /><br />

重复密码:<input type="password" name="repassword" /><br />

注册时间:<input type="text" name="createtime" /><br />

注册IP:<input type="text" name="createip" /><br />

<input type="submit" value="注册" />

</form>

aoli/Home/Lib/Model/UserModel.class.php页面如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21
<?php

class UserModel extends Model{//对应数据库中的表user

protected $_validate=array(

array('username','require','用户名必填'),

array('username','checklen','用户名长度过长或过短',0,'callback'),

array('password','require','密码必填'),

array('repassword','require','重复密码必填'),

array('password','repassword','两次密码不一致',0,'confirm'),

array('createtime','number','您输入的不是数字'),

array('createip','email','邮箱格式不正确'),

);

function checklen($data){

if(strlen($data)>15 || strlen($data)<5){

return false;

}else{

return true;

}

}

}

?>

aoli/Home/Lib/Action/UserAction.class.php页面如下:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19
<?php

class UserAction extends Action {

function reg(){

$this->display();

}

function regadd(){

$user=D('user');

if($user->create()){

if($user->add()){

$this->success('注册成功');

}else{

$this->error('注册失败');

}

}else{

$this->error($user->getError());

}

}

}

?>

二、自动完成(自动填充)

自动完成也是ThinkPHP当中的一个成员方法,在create的时候,自动执行

规则如下:

?

1
array('填充字段','填充内容','填充条件','附加规则');

简单示例如下:

?

1

2

3

4

5
protected $_auto = array (

//array( 'status','1'), // 新增的时候把 status 字段设置为 1

array('password','md5',1,'function') , // 对 password 字段在新增的时候使 md5 函数处理

array('createtime','time',3,'function' ), // 对 create_time 字段在更新的时候写入当前时间戳

);

二、自动映射(字段映射)

自动映射:将数据库的字段映射成别名,在表单中就可以使用别名了

简单示例如下:

?

1

2

3

4
protected $_map = array(

'name' => 'username',

'pass' => 'password',

);

详细本文所述技巧对于大家学习及使用ThinkPHP有一定的帮助作用。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 ThinkPHP中的三大自动简介 https://www.kuaiidc.com/104393.html

相关文章

发表评论
暂无评论