PHP는 웹 서버에서 널리 사용되는 스크립팅 언어로 민첩한 웹 개발에 있어 많은 성공 사례, 활발한 커뮤니티, 풍부한 리소스 및 많은 프레임워크를 보유하고 있습니다. ThinkPHP는 초기에 시작되어 상대적으로 성숙한 국내 PHP 프레임워크로 중국에서 상당한 사용자를 보유하고 있습니다. "Geek Academy 심층 ThinkPHP 프레임워크 동영상 튜토리얼"을 통해 ThinkPHP에 대한 기본 지식을 소개하고 후속 실제 준비를 진행합니다. 프로젝트.
강좌 재생 주소: http://www.php.cn/course/322.html
선생님의 강의 스타일:
강의는 친절하고 자연스러우며 가식 없고 가식적이지 않습니다. 고의적으로 과장하지 않고 설득력 있고 자세하게 이야기하면서 교사와 학생은 평등, 협력, 조화의 분위기에서 침묵의 감정 교환을 하며 지식에 대한 갈증과 탐구를 단순성과 진정성으로 통합합니다. 가르치는 상황에서 학생들은 지식을 얻습니다. 조용한 생각과 조용한 승인을 통해
이 영상에서 더 어려운 부분은 ThinkPHP 모델이 데이터 자동 채우기를 실현한다는 것입니다:
ThinkPHP 자동 채우기
ThinkPHP 내장 데이터 개체의 자동 채우기 기능 기본값, 데이터 필터링 및 시스템에서 작성한 필드의 기타 자동 처리를 처리하는 데 사용할 수 있습니다.
자동 완성 기능을 사용하려면 해당 Model 클래스에 $_auto 속성(여러 검증 요소로 구성된 배열)만 정의하면 됩니다. $_auto 속성은 여러 채우기 요소로 구성된 배열입니다. 구문 형식은 다음과 같습니다.
protected $_auto = array( array(填充字段,填充内容[,填充条件][,附加规则]) };
Autofill example
사용자가 정보를 등록하거나 수정할 때 사용할 수 있는 Autofill 예제:
class UserModel extends Model{ protected $_auto = array ( // 新增的时候把status字段设置为1 array('status','1'), // 对password字段在所有情况下使用md5函数处理 array('password','md5',3,'function'), // 对username字段在新增时回调getName方法 array('username','getName',1,'callback'), // 对regdate字段在新增时写入当前时间戳 array('regdate','time',1,'function'), // 对regip字段在新增时写入用户注册IP地址 array('regip','get_client_ip',1,'function'), ); }
자동 확인과 마찬가지로 자동 완성 메커니즘은 create 메소드를 사용해야 적용됩니다.
$Article = D("User"); if(!$User->create()){ // 如果创建数据对象失败(可能是验证未通过等),输出错误提示信息 exit($Article->getError()); }else{ // 继续下一步流程如将数据写入数据表 }
Tips
자동 확인과의 차이점은 자동 채우기가 유효하지 않은 경우(예: 존재하지 않는 함수 호출)입니다. 또는 자동으로 채워진 필드가 존재하지 않는 경우 등)은 데이터 개체 생성(create())이 실패하는 원인이 되지 않습니다. 자동 채우기가 정확하고 효과적인지 여부는 디버깅이나 실제 데이터 저장을 통해서만 감지할 수 있습니다.
자동 완성 규칙을 동적으로 변경
자동 확인과 마찬가지로 작업 메서드의 setProperty 메서드를 사용하여 자동 완성 규칙을 동적으로 변경할 수 있습니다.
$Dao = D("User"); $auto = array ( // 仅对password字段进行处理 array('password','md5',1,'function') ); $User->setProperty("_auto",$auto); if(!$User->create()){ …… }
위 내용은 심층적인 ThinkPHP 프레임워크 비디오 튜토리얼을 위한 Geek Academy의 리소스 권장 사항의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!