La colonne suivante du didacticiel thinkphp framework vous présentera comment exécuter le filtre avec la commande Thinkphp5.0.x. J'espère que cela sera utile aux amis dans le besoin !
L'exécution de la commande Thinkphp5.0.x
utilise également <span style="color:#c7254e;">call_user_func()</span>
pour l'exécution de la commande et l'exécute dans la fonction filterValue de la classe Request [Recommandation : tutoriel vidéo thinkphp]
Recherchez d'abord les fonctions qui appellent filterValue :
FilterValue() a été appelé dans les fonctions cookie() et input() dans la classe Request
Recherche d'appels de fonction cookie, mais aucun résultat n'a été trouvé ; Recherche d'appels d'entrée :
? () :$request
;
exécutera le constructeur de requête. À ce stade, le contenu POST a été obtenu via file_get_contents('php://input') dans le constructeur et attribué à la variable $request->input.Step2$dispatch = self::
routeCheck(
$request,
$config
); at Dans routeCheck, la fonction check de la classe Route sera saisie : La fonction check appelle $request->method() : La valeur par défaut du paramètre entrant est false, et il sera exécuté sur elseif pour obtenir var_method => _method, Les variables obtenues seront écrasées ci-dessous, si __construct est transmis, $_POST obtient les données soumises par post et le tableau POST peut être parcouru dans. la fonction de construction pour écraser les membres de la classe de requête
Le processus d'utilisation suivant nécessite : le mode débogage est activé
param() sera appelé dans run() :Suivez la fonction param :
/**
* Récupérer les paramètres de la requête en cours
* @access public
* @param string|array $name variable name
* @param Mixed $default
* @retour mixte
*/
Entrez d'abord la condition if et suivez la méthode méthode
method() si le paramètre entrant est vrai :
Exécutez l'instruction suivante : obtenez le type de requête d'origine
$_SERVER['REQUEST_METHOD'], la valeur de retour est POST
et renvoyez-la au param, $method=POST
pour que le switch soit exécuté Dans la partie POST, entrez la fonction post :
fonction post :
/**
* @retour mixte
*/
Passer les paramètres :, puis copiez dans $content, puis $_POST Et jugez si c'est au format json. Si c'est json, vous devez effectuer json_decode, sinon utilisez directement la valeur de $_POST
pour saisir la méthode de saisie. : le paramètre entrant est le
Name obtenu par POST S'il est faux, l'entrée renvoie des données, et post() renvoie directement la fonctionparam() :
$vars =$this
->
post(faux) Entrez getFilter : ;Dans
getFilter, $filter = $filter ? : $this->filter;obtient la valeur de la variable de filtre de la classe $request (précédemment couverte par le parcours de construction ), et comme valeur de retour à la fonction d'entrée
continuez à exécuter array_walk_recursive($data, [$this, 'filterValue'] , $filter );
array_walk_recursive() la fonction applique une fonction définie par l'utilisateur à chaque élément du tableau. Dans la fonction, le nom de clé et la valeur de clé du tableau sont des paramètres
qui équivaut à $filters=systemtaken Chaque variable dans $data est transmise en tant que $value. . Lorsqu'il est pris Lorsque ccc=ipconfig, system est utilisé comme premier paramètre de call_user_func, et ipconfig est utilisé comme second, provoquant l'exécution de la commande.
Résultat de l'exécution :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!