In der folgenden Tutorial-Kolumne zum thinkphp-Framework erfahren Sie, wie Sie den Filter mit dem Befehl Thinkphp5.0.x ausführen. Ich hoffe, dass er Freunden in Not hilfreich sein wird!
Thinkphp5.0.x-Befehlsausführung
verwendet auch für die Befehlsausführung und führt es in der Funktion filterValue der Request-Klasse aus [Empfehlung: <span style="color:#c7254e;">call_user_func()</span>
Thinkphp-Video-Tutorial]
FilterValue() wurde in den Funktionen cookie() und input() in der Request-Klasse aufgerufen. Suche nach Cookie-Funktionsaufrufen, aber es wurden keine Ergebnisse gefunden. Suche nach Eingabeaufrufen:
Nachverfolgung der Ausführungsfunktion: Schritt 1 in
$request = is_null($request) ? Request::instance () : $request ;
führt den Anforderungskonstruktor aus. Zu diesem Zeitpunkt wurde der POST-Inhalt über file_get_contents('php://input') im Konstruktor abgerufen und der Variablen $request->input zugewiesen ?? ,$config
)
;
at In routeCheck wird die Prüffunktion der Route-Klasse eingetragen: Die Prüffunktion ruft $request->method() auf: Der Standardwert des eingehenden Parameters ist false, und es wird ausgeführt, um var_method => _method zu erhalten. Wenn __construct zu diesem Zeitpunkt übergeben wird, erhält $ _POST die per Post übermittelten Daten und das POST-Array kann durchlaufen werden Die Konstruktfunktion zum Überschreiben der Mitglieder in der Anforderungsklasse
Verfolgen Sie die Parameterfunktion: /** * Parameter der aktuellen Anfrage abrufen * @access public * @param string|array $name Variablenname * @param gemischt * @return gemischt */ Geben Sie zuerst die if-Bedingung ein und verfolgen Sie die Methode method method(), wenn der eingehende Parameter wahr ist : Führen Sie die folgende Anweisung aus: Holen Sie sich den ursprünglichen Anforderungstyp ['REQUEST_METHOD'], der Rückgabewert ist POST und geben Sie ihn an param, $method=POST damit der Wechsel ausgeführt wird Geben Sie im POST-Teil die Post-Funktion ein: Post-Funktion: /** * @return gemischt */ , dann nach $content kopieren und dann $_POST Und beurteilen Sie, ob es im JSON-Format vorliegt. Wenn es sich um JSON handelt, müssen Sie json_decode ausführen, andernfalls verwenden Sie direkt den Wert von $_POST , um die Eingabemethode einzugeben : Der eingehende Parameter ist der durch POST erhaltene param() zurück: $this -> false); GetFilter eingeben: In getFilter, $filter = $filter ?: $this->filter;ruft den Filtervariablenwert der $request-Klasse ab (zuvor durch Konstruktdurchquerung abgedeckt). ) und als Rückgabewert an die Eingabefunktion weiterhin array_walk_recursive($data, [$this, 'filterValue') ausführen ] , $filter ); array_walk_recursive() Funktion wendet eine benutzerdefinierte Funktion auf jedes Element im Array an. In der Funktion sind der Schlüsselname und der Schlüsselwert des Arrays Parameter , was $filters=systemtaken entspricht. Jede Variable in $data wird als $value übergeben . Wenn ccc=ipconfig verwendet wird, wird system als erster Parameter von call_user_func und ipconfig als zweiter Parameter verwendet, was die Befehlsausführung bewirkt. Ausführungsergebnis:
Das obige ist der detaillierte Inhalt vonLassen Sie uns darüber sprechen, wie der Befehl TP5.0.x den Filter ausführt!. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!