Dieser Artikel stellt hauptsächlich drei Möglichkeiten zur Implementierung von Kettenoperationen in PHP vor und analysiert die relevanten Implementierungstechniken und Verwendungsvorkehrungen von PHP-Kettenoperationen in Form von Beispielen. Weitere Informationen finden Sie unter
folgt:
Es gibt viele String-Funktionen in PHP. Beispielsweise müssen Sie zuerst die Leerzeichen am Ende des Strings filtern und dann seine Länge ermitteln:
strlen(trim($str))
Wenn Sie beispielsweise eine Kettenoperation ähnlich der in js implementieren möchten, wie sollten Sie sie wie folgt schreiben?
$str->trim()->strlen()
Es gibt drei Möglichkeiten, dies zu erreichen:
Methode 1. Verwenden Sie den magischen Funktionsaufruf wird mit call_user_func kombiniert, um
zu implementieren. Idee: Definieren Sie zuerst eine String-Klasse StringHelper, der Konstruktor weist den Wert direkt zu und ruft dann die Funktionen trim() und strlen() in a auf Kette, durch Verwenden Sie call_user_func in der aufgerufenen magischen Funktion __call(), um die aufrufende Beziehung zu verarbeiten. Die Implementierung ist wie folgt:
<?php class StringHelper { private $value; function __construct($value) { $this->value = $value; } function __call($function, $args){ $this->value = call_user_func($function, $this->value, $args[0]); return $this; } function strlen() { return strlen($this->value); } } $str = new StringHelper(" sd f 0"); echo $str->trim('0')->strlen();
Terminalausführungsskript:
php test.php 8
Methode 2. Verwenden Sie die magische Funktion __call kombiniert mit call_user_func_array, um
zu implementieren<?php class StringHelper { private $value; function __construct($value) { $this->value = $value; } function __call($function, $args){ array_unshift($args, $this->value); $this->value = call_user_func_array($function, $args); return $this; } function strlen() { return strlen($this->value); } } $str = new StringHelper(" sd f 0"); echo $str->trim('0')->strlen();
Beschreibung:
array_unshift(array,value1,value2,value3.. .) Mit der Funktion
array_unshift()
werden neue Elemente in ein Array eingefügt. Die Werte des neuen Arrays werden am Anfang des Arrays eingefügt.
call_user_func()
und call_user_func_array
sind beide Methoden zum dynamischen Aufrufen von Funktionen. Der Unterschied liegt in der Art und Weise, wie Parameter übergeben werden.
Methode drei: Verwenden Sie nicht die magische Funktion __call, um
zu implementieren. Ändern Sie einfach _call()
in die Funktion trim()
:
public function trim($t) { $this->value = trim($this->value, $t); return $this; }
Der entscheidende Punkt ist, dass der $this-Zeiger zurückgegeben wird, um den Aufruf der letztgenannten Funktion zu erleichtern.
Fragen Sie die PHP-Zeichenfolge ab, die bestimmte Daten enthält
Zeichen in PHP Drei Möglichkeiten, Strings auszudrücken
Häufig verwendete String-Funktionen in PHP
Das obige ist der detaillierte Inhalt vonDrei Möglichkeiten, Kettenoperationen in PHP zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!