>백엔드 개발 >PHP 튜토리얼 >ThinkPHP auto-completion_php 예제에 사용된 함수 및 콜백 메서드의 예

ThinkPHP auto-completion_php 예제에 사용된 함수 및 콜백 메서드의 예

WBOY
WBOY원래의
2016-05-16 20:29:571070검색

이 기사의 예에서는 ThinkPHP 자동 완성의 함수 및 콜백 메소드 사용을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 방법은 다음과 같습니다.

ThinkPHP 자동 완성 형식은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
array(필드 채우기, 콘텐츠 채우기[, 채우기 조건] [, 규칙 추가])

다음을 포함한 추가 규칙(선택 사항):

string: 채워지는 내용이 문자열(기본값)임을 나타내는 문자열입니다.

함수: function을 사용하여 채워진 내용이 함수 반환 값임을 나타냅니다.

콜백: 메소드를 사용하여 채워진 콘텐츠가 현재 모델의 메소드 반환 값임을 나타냅니다.

field: 필드. 채워진 내용이 다른 필드의 값임을 나타냅니다.

ThinkPHP 자동 완성 기능을 사용하는 함수

함수를 사용하여 추가 규칙을 채웠다는 것은 채워진 내용이 함수 반환 값임을 의미합니다. 이 함수는 PHP 내장 함수일 수도 있고 사용자 정의 함수일 수도 있습니다.

함수 채우기 사용 예:

코드 복사 코드는 다음과 같습니다.
class UserModel은 Model을 확장합니다.{
보호된 $_auto = 배열(
// 모든 경우에 비밀번호 필드를 처리하려면 md5 함수를 사용하세요.
array('password','md5',3,'function'),
// 추가 시 현재 타임스탬프를 regdate 필드에 씁니다.
array('regdate','time',1,'function'),
// regip 필드 추가 시 사용자가 등록한 IP 주소를 적습니다.
array('regip','get_client_ip',1,'function'),
// 사용자 이름 필드를 추가할 때 사용자 정의 getName 함수를 사용합니다.
array('사용자 이름','get_name',1,'함수'),
);
}

위의 예에서 사용된 md5와 time은 PHP 내장 함수이고, 채우기 결과는 md5($_POST['password']) 값과 time() 함수 값이며, get_client_ip와 get_name은 Common/common입니다. PHP 사용자 정의 함수

get_name 함수는 사용자 이름에 th_ 접두사를 추가합니다. 참조는 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
function get_name($name){
'th_'.$name을 반환합니다.
}

함수에 매개변수가 필요한 경우 위의 md5 및 get_name 함수와 같이 필드를 매개변수로 채웁니다.

ThinkPHP 자동 완성 사용 콜백

콜백 메소드를 사용하여 채울 때, 채워진 내용은 현재 모델의 메소드 반환 값임을 의미합니다. 콜백을 사용하여 채우기 예:

코드 복사 코드는 다음과 같습니다.
class UserModel은 Model을 확장합니다.{
보호된 $_auto = 배열(
// 사용자 이름 필드가 추가되면 getName 메소드를 다시 호출합니다.
array('username','getName',1,'callback'),
);
}

getName 메소드는 사용자 이름에 th_ 접두사 를 추가합니다. 참조는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.
class UserModel은 Model을 확장합니다.{
//전달된 사용자 이름에 th_ 접두어를 추가합니다
함수 getName(){
return 'th_'.$_POST['사용자 이름']
}
}

참고: 위의 예는 사용자 이름 필드에 th_ 접두사를 자동으로 추가하고 이를 사용자 이름에 채웁니다. 이는 자동 채우기 기능 또는 콜백 방법의 사용을 설명하기 위한 것일 뿐 실제 생산에 의미가 없을 수 있습니다

이 글이 모든 분들의 ThinkPHP 프레임워크 프로그래밍에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.