이 글은 주로 Thinkphp5 동작 사용법을 요약해서 소개합니다. 필요한 친구들은 참고하면 됩니다
애플리케이션이나 모듈 아래에 동작 디렉터리를 만들고, 그 디렉터리에는 동작 파일인 Test.PHP(홈)가 내장되어 있습니다. 모듈은 아래 예제로 사용됩니다)
namespace app/home/behavior;//注意应用或模块的不同命名空间 class Test { public function run(&$params) { echo $params; } }
메소드 1
1 항목 파일에 다음을 추가합니다: Define('APP_HOOK',true);
2.
return [ 'app_init'=> [ 'app//home//behavior//Test', //注意行为的命名空间(下同) ], 'zzzzz'=> [//自定义标签位 'app//home//behavior//Test', ], //................. ];
3. 컨트롤러 메서드
/think/Hook::listen('app_init',$params);//参数为变量(下同) /think/Hook::listen('zzzzz',$params);//自定义
방법 2
1에서 필요한 동작을 들어보세요. 홈 모듈(common.PHP)의 공개 파일 또는 컨트롤러 메서드 Bit
/think/Hook::add('app_init','app//home//behavior//Test'); /think/Hook::add('zzzz','app//home//behavior//Test');//自定义
2 내에서 레이블을 지정합니다. 컨트롤러 메서드
/think/Hook::listen('app_init',$params); /think/Hook::listen('zzzzz',$params);//自定义
방법 3에서 필요한 동작을 듣습니다.
컨트롤러 메소드에서 필요한 동작을 직접 실행
/think/Hook::exec('app//home//behavior//Test','run',$params);
메소드 4
컨트롤러 메소드 내에서 직접 클로저 함수 사용
$a='闭包函数'; /think/Hook::add('zzzz',function($a){ var_dump($a);}); /think/Hook::listen('zzzz',$a);
방법 5
동작 클래스를 여러 태그에 바인딩
1.Test.PHP는 다음과 같이 정의됩니다:
namespace app/home/behavior; class Test { public function app_init(&$params){ echo 'app_init'; } public function app_end(&$params){ echo 'app_end'; } }
2. 홈 모듈의 공용 파일(common.PHP)에 있는 레이블 비트에 동작을 바인딩합니다. 또는 컨트롤러 메서드 내
/think/Hook::add('app_init','app//home//behavior//Test'); /think/Hook::add('app_end','app//home//behavior//Test');
3. 컨트롤러 메서드 내에서 필요한 경우 청취 동작
/think/Hook::listen('app_init',$params); /think/Hook::listen('app_end',$params);
관련 권장 사항:
thinkphp5 정적 리소스 경로 및 상수 로드 방법
위 내용은 Thinkphp5 동작 사용법 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!