thinkPHP 프레임워크의 자동 채우기 원리 및 분석에 대해
이 글에서는 thinkPHP 프레임워크 자동 채우기를 주로 소개합니다. thinkPHP 프레임워크 자동 채우기의 원리, 사용 방법 및 관련 동작 주의 사항을 예제 형식으로 자세히 분석합니다. 필요한 친구들이 참고할 수 있습니다.
이 글은 thinkPHP를 분석합니다. 예제를 이용한 프레임워크 자동 채우기. 참고를 위해 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
thinkphp에는 필드를 자동으로 채우는 방법이 있습니다
채우기 규칙은 다음과 같습니다
array( array(完成字段1,完成规则,[完成条件,附加规则]), array(完成字段2,完成规则,[完成条件,附加规则]), ...... );
참고: 소스를 연구한 후 코드에서 실제로 4번째 매개변수가 있는 것을 발견했습니다. 이 매개변수는 매개변수를 함수나 콜백 메소드에 전달하는 데 사용됩니다. 매개변수 1은 기본적으로 필드 값 로 설정됩니다. 예:
array('mobile','trim',3,'function',参数2,参数3'),
결제 동적 및 정적 확인
모델 클래스의 정적 검증
모델의 자동 검증 규칙이 미리 정의되어 있으며 create
메소드를 사용한 후 자동으로 검증됩니다. create
方法后会自动去验证。
以下是官方的例子
1.首先在模型中定义好验证的规则
namespace Home\Model; use Think\Model; class UserModel extends Model{ protected $_auto = array ( array('status','1'), // 新增的时候把status字段设置为1 array('password','md5',3,'function') , // 对password字段在新增和编辑的时候使md5函数处理 array('name','getName',3,'callback'), // 对name字段在新增和编辑的时候回调getName方法 array('update_time','time',2,'function'), // 对update_time字段在更新的时候写入当前时间戳 ); }
2.在调用的时候用create
方法会自动进行填充
$User = D("User"); // 实例化User对象 if (!$User->create()){ // 创建数据对象 // 如果创建失败 表示验证没有通过 输出错误提示信息 exit($User->getError()); }else{ // 验证通过 写入新增数据 $User->add(); }
动态验证
以下是官方的例子
$rules = array ( array('status','1'), // 新增的时候把status字段设置为1 array('password','md5',3,'function') , // 对password字段在新增和编辑的时候使md5函数处理 array('update_time','time',2,'function'), // 对update_time字段在更新的时候写入当前时间戳 ); $User = M('User'); $User->auto($rules)->create(); $User->add();
下面是核心的代码分析:
create方法调用后会调用autoOperation
/** * 自动表单处理 * @access public * @param array $data 创建数据 * @param string $type 创建类型 * @return mixed */ private function autoOperation(&$data,$type) { if(!empty($this->options['auto'])) { $_auto = $this->options['auto']; unset($this->options['auto']); }elseif(!empty($this->_auto)){ $_auto = $this->_auto; } // 自动填充 if(isset($_auto)) { foreach ($_auto as $auto){ // 填充因子定义格式 // array('field','填充内容','填充条件','附加规则',[额外参数]) if(empty($auto[2])) $auto[2] = self::MODEL_INSERT; // 默认为新增的时候自动填充 //这里的判断是关键,$type为当前的操作状态,值为1表示是插入,值为2表示是更新 //如果当前的$type状态值等于设置的值$auto[2]或者$auto[2]的值为3,代表需要填充 if( $type == $auto[2] || $auto[2] == self::MODEL_BOTH) { if(empty($auto[3])) $auto[3] = 'string'; switch(trim($auto[3])) { case 'function': // 使用函数进行填充 字段的值作为参数 case 'callback': // 使用回调方法 $args = isset($auto[4])?(array)$auto[4]:array(); if(isset($data[$auto[0]])) { array_unshift($args,$data[$auto[0]]); } if('function'==$auto[3]) { $data[$auto[0]] = call_user_func_array($auto[1], $args); }else{ $data[$auto[0]] = call_user_func_array(array(&$this,$auto[1]), $args); } break; case 'field': // 用其它字段的值进行填充 $data[$auto[0]] = $data[$auto[1]]; break; case 'ignore': // 为空忽略 if($auto[1]===$data[$auto[0]]) unset($data[$auto[0]]); break; case 'string': default: // 默认作为字符串填充 $data[$auto[0]] = $auto[1]; } if(isset($data[$auto[0]]) && false === $data[$auto[0]] ) unset($data[$auto[0]]); } } } return $data; }
create
메소드를 사용하여 자동으로 채워주세요 동적 검증
핵심 코드 분석은 다음과 같습니다.
create 메소드 호출 후 autoOperation
code> 메소드는 다음과 같이 호출됩니다
위 내용은 thinkPHP 프레임워크의 자동 채우기 원리 및 분석에 대해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











PHP 양식에서 자동 완성 및 자동 완성을 처리하는 방법 인터넷이 발전함에 따라 웹 사이트 작업을 단순화하기 위해 자동 완성 및 자동 완성 기능에 점점 더 의존하는 사람들이 늘어나고 있습니다. PHP 양식에서 이러한 기능을 구현하는 것은 복잡하지 않습니다. 이 기사에서는 PHP를 사용하여 양식의 자동 채우기 및 자동 완성을 처리하는 방법을 간략하게 소개합니다. 시작하기 전에 자동 완성과 자동 완성이 무엇인지 명확히 해야 합니다. 자동 채우기는 사용자의 이전 입력 또는 기록을 기반으로 양식의 필드를 자동으로 채우는 것을 의미합니다. 예를 들어, 사용자가 이메일을 입력할 때

Java를 사용하여 양식 데이터 자동 채우기 및 입력 제안 구현 최근 몇 년간 인터넷의 발달로 양식 데이터를 채우는 것이 우리 일상생활의 일부가 되었습니다. 그러나 많은 양의 양식 데이터를 입력하면 특히 반복적으로 데이터를 입력할 때 사용자에게 문제가 발생하는 경우가 많습니다. 사용자의 채우기 효율성과 경험을 향상시키기 위해 Java 언어를 사용하여 양식 데이터 자동 채우기 및 입력 제안을 구현할 수 있습니다. 이 기사에서는 Java를 사용하여 이 기능을 구현하는 방법을 소개하고 참조용 코드 예제를 제공합니다. 먼저, 우리는 필요합니다

웹 개발이 계속 발전함에 따라 개발자는 애플리케이션의 품질을 향상시키면서 시간과 노력을 절약하기 위해 몇 가지 실용적인 도구와 프레임워크를 사용해야 합니다. ThinkPHP는 개발을 크게 단순화하고 효율성을 높이는 인기 있는 PHP 프레임워크입니다. 이 기사에서는 최신 버전의 ThinkPHP6 프레임워크를 사용하는 방법을 알아봅니다. 환경 요구 사항 먼저 시스템이 다음 요구 사항을 충족하는지 확인해야 합니다. PHP 버전 7.1 이상 MySQL 버전 5.5 이상 Composer는

인터넷의 지속적인 발전으로 양식은 일상적인 웹사이트에서 사용되는 기능 중 하나가 되었습니다. 사용자가 양식을 작성하도록 하는 것은 의심할 여지 없이 지루한 작업이므로 프로세스를 단순화하려면 몇 가지 트릭을 사용해야 합니다. 이 기사에서는 PHP에서 양식 자동 완성을 구현하는 기술을 소개합니다. 1. 기본값 사용 양식의 기본값을 설정할 때 양식 태그의 "value" 속성을 사용하여 지정할 수 있습니다. 예는 다음과 같습니다. <inputtype="text"name=&q

ThinkPHP는 잘 알려진 PHP 오픈 소스 프레임워크로 효율성, 단순성 및 사용 용이성이 특징이며 대규모 웹 애플리케이션을 빠르게 구축할 수 있습니다. 이번 글에서는 ThinkPHP 프레임워크의 사용법과 주의사항을 소개하겠습니다. 1. ThinkPHP 프레임워크 설치 1. ThinkPHP 프레임워크를 다운로드합니다. 공식 홈페이지(http://www.thinkphp.cn/)에서 ThinkPHP 압축 패키지를 다운로드하여 압축을 풀 수 있습니다. Composer를 통해서도 설치할 수 있습니다.

"RBAC 권한 관리를 위한 ThinkPHP 프레임워크 사용을 위한 개발 제안" 인터넷이 발전함에 따라 시스템의 보안과 제어 가능성을 보장하기 위해 권한 관리 기능을 구현해야 하는 웹 애플리케이션이 점점 더 많아지고 있습니다. 성숙한 권한 관리 모델인 RBAC(Role-BasedAccessControl, 역할 기반 액세스 제어)는 실제 개발에서 널리 사용되었습니다. ThinkPHP는 풍부한 기능과 유연한 확장을 제공하는 인기 있는 PHP 프레임워크입니다.

PHP 크롤러를 사용하여 자동으로 양식을 채우고 데이터를 제출하는 방법은 무엇입니까? 인터넷이 발전함에 따라 웹 페이지에서 데이터를 얻거나 자동으로 양식을 작성하고 데이터를 제출해야 하는 필요성이 점점 더 커지고 있습니다. 강력한 서버측 언어인 PHP는 이러한 기능을 구현하기 위한 수많은 도구와 클래스 라이브러리를 제공합니다. 이 기사에서는 PHP에서 크롤러를 사용하여 자동으로 양식을 채우고 데이터를 제출하는 방법을 설명합니다. 먼저 웹 페이지 데이터를 얻고 제출하려면 PHP의 컬 라이브러리를 사용해야 합니다. 컬 라이브러리는 강력하다

Firefox가 계정 비밀번호를 저장한 후 자동으로 입력할 수 없으면 어떻게 해야 합니까? 계정 비밀번호를 저장하도록 선택했지만 자동으로 입력할 수 없으면 어떻게 해야 합니까? Firefox를 사용하여 계정과 비밀번호에 로그인하면 브라우저에서 저장할지 여부를 묻는 메시지가 표시됩니다. 저장을 선택했지만 다음에 브라우저를 열면 계정과 비밀번호가 자동으로 입력되지 않습니다. 이를 해결하는 방법은 다음과 같습니다. Firefox에서 계정 비밀번호를 저장한 후 자동으로 입력할 수 없는 문제에 대한 해결 방법을 정리했습니다. 그렇지 않은 경우 아래를 따르세요. Firefox가 계정 비밀번호를 저장한 후 자동으로 입력할 수 없으면 어떻게 해야 합니까? 1. Firefox를 열고 브라우저 오른쪽 상단에 있는 "메뉴 열기" 아이콘을 클릭한 후 아래 메뉴 목록에서 "옵션"을 클릭하여 엽니다. 브라우저 옵션 패널. 2. 불 속에서
