Es gibt mehrere Möglichkeiten, Kettenoperationen in PHP zu implementieren

php中世界最好的语言
Freigeben: 2023-03-18 07:54:01
Original
1634 Leute haben es durchsucht

Die drei Methoden für Kettenoperationen mit PHP sind die Verwendung eines magischen Funktionsaufrufs in Kombination mit call_user_func, der Verwendung eines magischen Funktionsaufrufs in Kombination mit call_user_func_array und ohne Verwendung eines magischen Funktionsaufrufs.

Es gibt viele String-Funktionen in PHP. Beispielsweise müssen Sie zuerst die Leerzeichen am Ende eines Strings filtern und dann dessen Länge ermitteln Die allgemeine Schreibweise lautet:

strlen(trim($str))
Nach dem Login kopieren


Wenn Sie beispielsweise eine Kettenoperation ähnlich der in js implementieren möchten, wie sollten Sie sie wie folgt schreiben?

$str->trim()->strlen()
Nach dem Login kopieren


Es gibt drei Möglichkeiten, es zu implementieren:

Methode 1. Verwenden Sie den magischen Funktionsaufruf in Kombination mit call_user_func, um

< zu implementieren 🎜> Idee: Definieren Sie zunächst eine String-Klasse

String

Helper,

Konstruktor weisen Sie den Wert direkt zu und rufen Sie dann die Funktionen trim() und strlen() in einer Kette über den magischen Funktionsaufruf auf ( ) Um die Aufrufbeziehung zu handhaben, lautet die Implementierung 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(&#39;0&#39;)->strlen();
Nach dem Login kopieren

Terminal-Ausführungsskript:

php test.php
Nach dem Login kopieren

Methode 2: Verwenden Sie den magischen Funktionsaufruf in Kombination mit call_user_func_array, um

,value2,value3...) 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(&#39;0&#39;)->strlen();
Nach dem Login kopieren
Die Funktion array_unshift() wird zum Einfügen neuer Elemente verwendet das Array. 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 den magischen Funktionsaufruf, um

zu erreichen. Ändern Sie einfach _call() in die Funktion trim():

Der entscheidende Punkt ist: Rückkehr $this-Zeiger, um den Aufruf der letztgenannten Funktion zu erleichtern.

Methode drei: Verwenden Sie nicht den magischen Funktionsaufruf, um

zu erreichen. Ändern Sie einfach _call() in die Funktion trim():

Der entscheidende Punkt ist: Rückkehr $this-Zeiger, um den Aufruf der letztgenannten Funktion zu erleichtern.

public function trim($t)
{
  $this->value = trim($this->value, $t);
  return $this;
}
Nach dem Login kopieren
Nach dem Login kopieren

Ich glaube, dass Sie die Methoden beherrschen, nachdem Sie diese Fälle gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Verwandte Lektüre:

public function trim($t)
{
  $this->value = trim($this->value, $t);
  return $this;
}
Nach dem Login kopieren
Nach dem Login kopieren

Wie PHP das Problem des großen Website-Verkehrs und der hohen Parallelität löst


Benutzerdefinierte PHP-Funktion generiert kartesischen Produktmethode

PHP-Produkt-Flash-Sale-Timing-Implementierung (Lösung für großen Datenverkehr)

Das obige ist der detaillierte Inhalt vonEs gibt mehrere Möglichkeiten, Kettenoperationen in PHP zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!