Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der Verwendung von Variablenfunktionen in PHP

Zusammenfassung der Verwendung von Variablenfunktionen in PHP

不言
不言Original
2018-06-12 16:25:561502Durchsuche

PHP unterstützt das Konzept variadischer Funktionen. Das heißt, wenn hinter einem Variablennamen Klammern stehen, sucht PHP nach einer Funktion mit demselben Namen wie der Variablenwert und versucht, diese auszuführen. Dieser Artikel konzentriert sich darauf, Ihnen eine Zusammenfassung der Verwendung von Variablenfunktionen in PHP vorzustellen. Interessierte Freunde sollten einen Blick darauf werfen

Variablenfunktionen

PHP unterstützt das Konzept variabler Funktionen. Das heißt, wenn hinter einem Variablennamen Klammern stehen, sucht PHP nach einer Funktion mit demselben Namen wie der Variablenwert und versucht, diese auszuführen. Variablenfunktionen können zur Implementierung einiger Zwecke verwendet werden, einschließlich Rückruffunktionen und Funktionstabellen.

Variablenfunktionen können nicht in Sprachkonstrukten wie echo(), print(), unset(), isset(), empty(), include(), require() und ähnlichen Anweisungen verwendet werden. Sie müssen Ihre eigenen Wrapper-Funktionen verwenden, um diese Strukturen als variable Funktionen zu verwenden.

Schreiben Sie zuerst meinen Pseudocode.

 protected $model;
 public function __construct(Category $category)
 {
  $this->model = $category;
 }
 public function getLists($request, $isPage = 'get', $order = 'created_at', $sort = 'desc')
 {
  return $this->model->orderBy($order, $sort)->$isPage();
 }

In getLists gibt es einen $isPage-Parameter. Die ursprüngliche Absicht besteht darin, get zu übergeben, um alle Daten abzurufen, und von Seite zu Seite zu paginieren. Nachdem ich mit dem Schreiben fertig war, hatte ich das Gefühl, dass etwas nicht stimmte. In unserer üblichen Schreibweise ist die Suche nach allen Daten $this->model->orderBy($order, $sort)->get(); so, dass ich noch nie gesehen habe, dass Variablen als Ersatz für get() verwendet werden. Im tatsächlichen Betrieb wird das Programm normal ausgeführt. Habe dann im Forum nach dieser Schreibmethode gefragt. Als nächstes stellen wir ein Konzept vor: „Variablenfunktion“.

Was ist eine variable Funktion?

PHP unterstützt das Konzept variadischer Funktionen. Das heißt, wenn hinter einem Variablennamen Klammern stehen, sucht PHP nach einer Funktion mit demselben Namen wie der Variablenwert und versucht, diese auszuführen.

Nachdem Sie dieses Konzept verstanden haben, wird das oben beschriebene Verfahren Sinn ergeben. Wenn das Programm ausgeführt wird, ersetzen Sie $isPage durch get, und nach $isPage steht eine Klammer, dann sucht das Programm nach einer Funktion mit demselben Namen. Fahren Sie dann mit der Ausführung fort.

Beispiel:

<?php
function foo() {
 echo "In foo()<br />\n";
}
function bar($arg = '') {
 echo "In bar(); argument was '$arg'.<br />\n";
}
$func = 'foo';
$func();  // 执行 foo(); 命令行中输出:In foo()<br />
$func = 'bar';
$func('test'); // 执行 bar();命令行中输出:In bar(); argument was 'test'.<br />

Variable Funktionssyntax zum Aufrufen einer Methode eines Objekts.

<?phpclass Foo
{
 function Variable()
 {
  $name = &#39;Bar&#39;;
  $this->$name(); // This calls the Bar() method
 }
 function Bar()
 {
  echo "This is Bar";
 }
}
$foo = new Foo();
$funcname = "Variable";
$foo->$funcname(); // This calls $foo->Variable()
// 命令行执行输出: This is Bar

Beim Aufruf statischer Methoden haben Funktionsaufrufe Vorrang vor statischen Eigenschaften. Beispiele für variable Methoden und statische Eigenschaften.

rrree

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, er wird für das Lernen aller hilfreich sein. Bitte achten Sie auf PHP Chinesische Website!

Verwandte Empfehlungen:

Über Zusammenfassung von Spickzetteln in PHP-Strings

Implementierung von drei rekursiven PHP-Funktionen Methoden und Implementierung der Anhäufung von Zahlen

Das obige ist der detaillierte Inhalt vonZusammenfassung der Verwendung von Variablenfunktionen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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