이 문서에서는 ThinkPHP의 세 가지 주요 자동 기능에 대해 자세히 설명합니다. 이는 매우 중요한 애플리케이션이며 참조용으로 모든 사람과 공유됩니다. 세부 내용은 다음과 같습니다.
1. 자동인증
형식은 다음과 같습니다.
array('验证字段','验证规则','错误提示','验证条件','附加规则','验证时间')
매개변수 설명:
유효성 검사 필드: 양식 필드 이름을 확인해야 합니다
유효성 검사 규칙: 추가 규칙과 함께 사용해야 합니다
오류 프롬프트: 오류가 발생하면 사용자에게 알리기 위해 어떤 종류의 오류 프롬프트가 표시되는지
검증조건 : 0, 1, 2
추가 규칙: 1. 정규식을 사용하여 확인 2. 함수를 사용하여 확인 3. 콜백 4. 양식의 두 필드가 동일한지 확인 확인 5. 특정 값과 같은지 확인 6. in이 범위 내에 있는지 여부 특정 범위 7. 검증 그것뿐인가
TP 캡슐화: 필수 필드를 확인해야 합니다. URL 확인 URL 주소
검증 시간: 데이터를 추가할 때 Model::MODEL_INSERT를 확인하고, 편집할 때 Model::MODEL_BOTH를 확인합니다.
aoli/Home/Tpl/default/User/reg.html 페이지는 다음과 같습니다.
<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 페이지는 다음과 같습니다.
<?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 페이지는 다음과 같습니다.
<?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()); } } } ?>
2. 자동완성(자동완성)
Autocomplete도 ThinkPHP의 멤버 메소드입니다. 작성 시 자동으로 실행됩니다
규칙은 다음과 같습니다.
array('填充字段','填充内容','填充条件','附加规则');
간단한 예는 다음과 같습니다.
protected $_auto = array ( //array( 'status','1'), // 新增的时候把 status 字段设置为 1 array('password','md5',1,'function') , // 对 password 字段在新增的时候使 md5 函数处理 array('createtime','time',3,'function' ), // 对 create_time 字段在更新的时候写入当前时间戳 );
2. 자동 매핑(필드 매핑)
자동 매핑: 데이터베이스 필드를 별칭으로 매핑하고 양식에서 별칭을 사용할 수 있습니다.
간단한 예는 다음과 같습니다.
protected $_map = array( 'name' => 'username', 'pass' => 'password', );
이 기사에 설명된 자세한 기술은 ThinkPHP를 배우고 사용하는 모든 사람에게 도움이 될 것입니다.