次の thinkphp Framework チュートリアル コラムでは、Thinkphp5.0.x コマンドでフィルターを実行する方法を紹介します。
Thinkphp5.0.x コマンドの実行
また、Request クラスでコマンドの実行に <span style="color:#c7254e;">call_user_func()</span>
を使用します。関数 filterValue で実行 [推奨: thinkphp ビデオ チュートリアル ]
最初にどの関数が filterValue を呼び出すかを検索します:
リクエスト内class FilterValue() は cookie() 関数と input() 関数で呼び出されます
Cookie 関数呼び出しを検索しますが、結果が見つかりませんでした。入力呼び出しを検索します:
$request = is_null($request) ? リクエスト::インスタンス() : $request;
はリクエストのコンストラクターを実行しますが、このとき file_get_contents( 'php: //input') は POST のコンテンツを取得し、それを $request->input 変数に割り当てます#Step2
= self::#routeCheck($リクエスト, $config);
routeCheck では、Route クラスのチェック関数を入力します。
チェック関数は、$request->method() を呼び出します。
次の使用プロセスには次の必要があります: デバッグ モードがオンです
param 関数をフォローアップします:
/**
* 現在のリクエストのパラメータを取得します
* @access public
* @param string|array $name 変数名
* @parammixed $default デフォルト値
* @param string|array $filter フィルターメソッド
* @returnmixed
*/
最初に if 条件を入力し、メソッドメソッドをフォローアップします
$_SERVER['REQUEST_METHOD']、戻り値は POST
$vars = $this- >post(false);
getFilter を入力してください: # ##################################getFilter in$filter = $filter ?: $this-> filter;$request クラス (以前にコンストラクト トラバーサルで説明した) のフィルター変数値を取得し、それを入力関数への戻り値として渡します
実行を継続array_walk_recursive($data, [$this , 'filterValue'], $filter);
##array_walk_recursive() この関数は、配列内の各要素にユーザー定義関数を適用します。関数では、配列のキー名とキー値がパラメータです。
は ## から取得した $filters=system と同等です。 #$ data の各変数は、$value として渡されます。 systemcall_user_func の最初のパラメータとして、ipconfig を取得します。 2 つ目は、コマンドの実行を引き起こしました。 結果:
以上がTP5.0.x コマンドがフィルターを実行する方法について説明しましょう。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。