>PHP 프레임워크 >ThinkPHP >TP5.0.x 명령이 필터를 실행하는 방법에 대해 이야기합시다!

TP5.0.x 명령이 필터를 실행하는 방법에 대해 이야기합시다!

藏色散人
藏色散人앞으로
2022-01-27 17:16:092659검색

다음 thinkphp Framework튜토리얼 칼럼에서는 Thinkphp5.0.x 명령으로 필터를 실행하는 방법을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

Thinkphp5.0.x 명령 실행

도 명령 실행에 <span style="color:#c7254e;">call_user_func()</span>를 사용하고 Request 클래스의 filterValue 함수에서 이를 실행합니다. [권장사항: thinkphp 비디오 튜토리얼]

filterValue를 호출하는 함수를 먼저 검색하세요.

FilterValue()가 Request 클래스의 cookie() 및 input() 함수에서 호출되었습니다.

쿠키 함수 호출을 검색했지만 결과를 찾을 수 없습니다. 입력 호출 검색:

실행 기능에서 후속 조치:

Step1

in $request = is_null($request) ? () : $request ;는 요청 생성자를 실행합니다. 이때 생성자에서 file_get_contents('php://input')를 통해 POST 내용을 가져와서 $request->input 변수에 할당했습니다.

Step2

$dispatch

= self::routeCheck($요청 , $config );

at RouteCheck에서는 Route 클래스의 check 함수가 입력됩니다:

check 함수는 $request->method()를 호출합니다:

수신 매개변수의 기본값은 false입니다. var_method => _method를 얻기 위해 elseif가 실행됩니다. 이때, __construct를 전달하면 $_POST가 post로 제출된 데이터를 가져오고 POST 배열을 탐색할 수 있습니다. 요청 클래스의 멤버를 덮어쓰기 위한 생성 함수

다음 활용 프로세스에는 디버그 모드가 켜져 있어야 합니다.

param()은 run()에서 호출됩니다.

param 함수를 따르세요:

/**

       * 현재 요청의 매개변수 가져오기

     * @access public

      * @param string|array $name 변수 이름

      * @param 혼합      $default                                                                                                                

* @return 혼합

*/

먼저 if 조건을 입력하고 들어오는 매개변수가 true인 경우 메소드 메소드

method()를 따르세요. :

Execute 다음 문을 실행합니다. 원래 요청 유형

$_SERVER

['REQUEST_METHOD']을 가져오고 반환 값은 POST

로 매개변수로 반환합니다. $method=POST

그러면 스위치가 실행됩니다. POST 부분에서 post 기능을 입력하세요:

post 기능:

/**​​​​

* @return 혼합

*/

매개변수 전달:

그런 다음 $content에 복사한 다음 $_POST json 형식인지 여부를 판단합니다. json이면 json_decode를 수행해야 하고, 그렇지 않으면 $_POST

값을 직접 사용하여 입력 방법을 입력합니다. : 들어오는 매개 변수는 POST에서 얻은

Name입니다. false인 경우 입력은 데이터를 반환하고 post()는

param() 함수를 직접 반환합니다.

$vars

=

$this

->

post

(

false); getFilter 입력:

getFilter에서 $filter = $filter ?: $this->filter;은 $request 클래스의 필터 변수 값을 가져옵니다(이전에는 구문 순회에서 다루었습니다) ) ), 그리고 입력 함수

에 대한 반환 값으로 array_walk_recursive($data, [$this, 'filterValue']을 계속 실행합니다. , $filter );

array_walk_recursive() 함수는 배열의 각 요소에 사용자 정의 함수를 적용합니다. 함수에서 배열의 키 이름과 키 값은

$filters=system

taken과 동일한 매개변수 입니다. $data의 각 변수는 $value로 전달됩니다. . 촬영할 때 ccc=ipconfig인 경우 systemcall_user_func의 첫 번째 매개변수로 사용하고, 두 번째 매개변수로 ipconfig을 사용하면 명령이 실행됩니다.

실행 결과:

위 내용은 TP5.0.x 명령이 필터를 실행하는 방법에 대해 이야기합시다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제