thinkpp 5.1 프레임 갈고리 와 행위 용법 사례 분석
4157 단어 thinkphp5.1갈고리행위.
행위.
ThinkpHP 에서 의 행 위 는 비교적 추상 적 인 개념 으로 행 위 를 응용 집행 과정 에서 의 동작 으로 상상 할 수 있다.
프레임 워 크 의 실행 절차 에서 예 를 들 어 경로 검 측 은 하나의 행위 이 고 정적 캐 시 는 하나의 행위 입 니 다.사용자 권한 검 측 도 행위 입 니 다.큰 업무 논리,작은 브 라 우 저 검 측,다 중 언어 검 측 등 은 모두 하나의 행위 라 고 할 수 있 습 니 다.심지어 귀하 가 원 하 는 사이트 사용자 에 게 처음으로 Hello,World 를 방문 하고 싶 습 니 다!이것들 은 모두 하나의 행위 로 볼 수 있다.이러한 행 위 를 추출 하 는 목적 은 프레임 워 크 와 응용 을 바 꾸 지 않 고 외곽 에서 확장 이나 설정 을 통 해 기능 을 바 꾸 거나 추가 하기 위 한 것 이다.
갈고리
서로 다른 행위 간 에 도 위치 공통성 을 가진다.예 를 들 어 어떤 행위 의 역할 위 치 는 모두 응용 집행 전에 어떤 행 위 는 모두 템 플 릿 출력 후에 우 리 는 이런 행위 가 작용 하 는 위 치 를 갈고리 라 고 부른다.
프로그램 이 이 갈고리 로 실 행 될 때 차단 되 어 관련 행 위 를 통일 적 으로 수행 합 니 다.
하나의 갈 고 리 는 여러 가지 행 위 를 등록 할 수 있 으 며,어떤 갈고리 위치 에 이 르 면 등 록 된 순서에 따라 관련 행 위 를 순서대로 집행 한다.그러나 특정한 상황 에서 특정한 갈 고 리 를 설정 하여 한 번 만 행 위 를 수행 할 수 있 거나 한 갈고리 의 특정한 행위 에서 되 돌아 갈 수 있다
false
.하나의 행 위 는 여러 개의 서로 다른 갈고리 에 동시에 등록 하여 응용의 수 요 를 완전히 보고 디자인 할 수 있다.갈고리 설정:
Hook::listen(' ',' ',' ');
갈고리 이름 을 제외 하고 다른 매개 변 수 는 모두 선택 할 수 있 습 니 다.5.1 버 전의 두 번 째 매개 변 수 는 참조 전송 값 을 지원 하지 않 습 니 다.행동 정의
행위 류 의 정 의 는 매우 간단 하 다.일반적으로 하나의 행위 입구 방법
run
만 정의 하면 된다.행동 방법 에서 의존 주입 을 사용 할 수 있다.
행위 유형 은 어떤 유형 도 계승 할 필요 가 없고 상대 적 으로 유연 하 다.행동 류 가 여러 갈고리 에 연결 되 어야 한다 면 여러 가지 방법 을 정의 할 수 있 습 니 다.
행동 바 인 딩
행동 정의 가 완료 되면 탭 위치 에 연결 해 야 효력 이 발생 합 니 다.그렇지 않 으 면 실행 되 지 않 습 니 다.
think\facade\Hook 류 의 add 방법 으로 등록 하 는 행위,예 를 들 어:
// app\index\behavior\CheckLang app_init
Hook::add('app_init','app\\index\\behavior\\CheckLang');
// app\admin\behavior\CronRun app_init
Hook::add('app_init','app\\admin\\behavior\\CronRun');
대량 등록 행 위 를 하려 면 사용 할 수 있 습 니 다:
Hook::add('app_init',['app\\index\\behavior\\CheckAuth','app\\index\\behavior\\CheckLang','app\\admin\\behavior\\Cr
응용 프로그램 이 app 로 실 행 될 때init 탭 위 치 는 app\index\behavior\CheckAuth,app\\index\behavior\\CheckLang 과 app\admin\\behavior\CronRun 행 위 를 순서대로 호출 합 니 다.한 행동 에 중지 코드 가 있 으 면 후속 으로 실행 되 지 않 습 니 다.false
로 돌아 가면 현재 탭 의 후속 행 위 는 실행 되 지 않 지만 응용 은 계속 실 행 됩 니 다.패 킷 지원
패 킷 함 수 를 탭 위치 에 직접 연결 하 는 행 위 를 정의 하지 않 아 도 됩 니 다.예 를 들 어:
Hook::add('app_init',function(){
echo 'Hello,world!';
});
탭 위치 에 전 송 된 매개 변수 가 있 으 면 패 킷 을 닫 아 도 전 송 된 매개 변 수 를 지원 할 수 있 습 니 다.예 를 들 어:
Hook::listen('action_init',$params);
Hook::add('action_init',function($params){
var_dump($params);
});
직접 실행 행위필요 하 다 면 행동 탭 을 연결 하지 않 고 어떤 행동 을 직접 호출 할 수도 있 습 니 다.사용:
// app\index\behavior\CheckAuth run params
$result = Hook::exec('app\\index\\behavior\\CheckAuth',$params);
행 위 를 직접 수행 할 때 실행 하 는 것 은 run 방법 입 니 다.행위 류 의 다른 방법 이 필요 하 다 면 사용 할 수 있 습 니 다.
// app\index\behavior\CheckAuth hello params
$result = Hook::exec(['app\\index\\behavior\\CheckAuth','hello'], $params);
thinkpHP 와 관련 된 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있 습 니 다.,,,,,ThinkpHP 입문 강좌,thinkpHP 템 플 릿 조작 기법 요약,ThinkPHP 상용 방법 총화,codeigniter 입문 강좌,CI(CodeIgniter)프레임 워 크 진급 강좌과Zend FrameWork 프레임 워 크 입문 강좌.본 고 는 ThinkPHP 프레임 워 크 를 기반 으로 한 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
thinkpp 5.1 프레임 워 크 템 플 릿 할당 과 변수 출력 예제본 고의 실례 는 thinkpphp 5.1 프레임 워 크 템 플 릿 의 값 부여 와 변수 출력 을 설명 한다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다. Demo.php ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.