is_callable
(PHP 4 >= 4.0.6, PHP 5, PHP 7)
is_callable — Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann
Beschreibung
Prüft ob der Inhalt einer Variable als Funktion aufgerufen werden kann. Es wird geprüft, ob eine einfache Variable den Namen einer gültigen Funktion enthält, oder ob in einem Array ein gültig kodierter Objekt- und Funktionsname enthalten ist.
Parameter-Liste
-
var
-
Der zu prüfende Wert.
-
syntax_only
-
Wenn dieser Parameter auf
TRUE
gesetzt wird, so prüft die Funktion nur obvar
möglicherweise eine Funktion oder Methode enthält. Einfache Variablen werden nur zurückgewiesen, wenn sie keinen String enthalten. Arrays werden auf die richtige Struktur geprüft, d.g. dass das Array zwei Elemente hat von denen der erste ein Objekt oder String und der zweite ein String ist. -
callable_name
-
Hier wird der "aufrufbare Name" abgelegt. Für das Beispiel weiter unten ist dies "someClass::someMethod". Es ist zu beachten, dass dies keine statische Methode ist, auch wenn die Syntax das nahelegt.
Beispiele
Beispiel #1 is_callable() Beispiel
<?php
// Wie man prüft ob eine Variable als Funktion aufgerufen werden kann
//
// Einfache Variable die eine Funktion enthält
//
function someFunction()
{
}
$functionVariable = 'someFunction';
var_dump(is_callable($functionVariable, false, $callable_name)); // bool(true)
echo $callable_name, "\n"; // someFunction
//
// Array das eine Methode enthält
//
class someClass {
function someMethod()
{
}
}
$anObject = new someClass();
$methodVariable = array($anObject, 'someMethod');
var_dump(is_callable($methodVariable, true, $callable_name)); // bool(true)
echo $callable_name, "\n"; // someClass::someMethod
?>
Beispiel #2 is_callable() and constructors
Von PHP 5.3.0 an meldet is_callable() Konstruktoren als nicht aufrufbar. Dies betrifft Konstruktoren im PHP 5 Stil (__construct) wie auch Konstruktoren im PHP 4 Stil (d.h. Methoden mit demselben Namen wie die Klasse). Zuvor wurden beide Fälle als aufrufbar angesehen.
<?php
class Foo
{
public function __construct() {}
public function foo() {}
}
var_dump(
is_callable(array('Foo', '__construct')),
is_callable(array('Foo', 'foo'))
);
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
bool(false) bool(false)
Siehe auch
- function_exists() - Falls die angegebene Funktion definiert ist, wird TRUE zurück gegeben
- method_exists() - Prüft ob eine Methode innerhalb eines Objekts existiert
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 30/01/2003, zuletzt geändert 26/10/2018
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/php-rf-function.is-callable.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor Diese Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.