Was macht ein \
in PHP?
Zum Beispiel CSRF4PHP hat \FALSE
, \session_id
und \Exception
:
public function __construct($timeout=300, $acceptGet=\FALSE){
$this->timeout = $timeout;
if (\session_id()) {
$this->acceptGet = (bool) $acceptGet;
} else {
throw new \Exception('Could not find session id', 1);
}
}
php
namespaces
opcode
opcache
Alfred
quelle
quelle
Antworten:
\
(Backslash) ist das Namespace-Trennzeichen in PHP 5.3.Ein
\
vor dem Beginn einer Funktion steht für den globalen Namespace .Wenn Sie es dort ablegen, wird sichergestellt, dass die aufgerufene Funktion aus dem globalen Namespace stammt, auch wenn im aktuellen Namespace eine Funktion mit demselben Namen vorhanden ist.
quelle
php backslash
, was mich zu einem Artikel über die Folgen der Auswahl als Namespace-Trennzeichen führte, dannphp namespace
bekam ich die Dokumentation.Namespaces
In PHP 5.3+ wird das Backslash-
\
Symbol in Namespaces verwendet. Es ist das Startsymbol zur Angabe eines Namespace und dient auch als Trennzeichen zwischen Sub-Namespace-Namen.Siehe offizielle Dokumentation zum Namespace .
Opcache
Zusätzlich werden in PHP 7.0+ einige Funktionen durch OPCache durch Opcodes ersetzt , wodurch diese spezifischen Funktionen viel schneller ausgeführt werden. Dies funktioniert jedoch nur, wenn die Funktionen im Root-Namespace platziert sind. Siehe diese Diskussion zu diesem Thema. Neben dem Namespace
\
wirkt sich dies indirekt auch auf die Codeoptimierung aus.Die folgenden nativen Funktionen profitieren von diesem Effekt:
quelle
Um mögliche Verwirrung zu klären:
Der Backslash impliziert keine Klassenvererbung .
Im Folgenden
Animal
,Dog
,Shepherd
müssen keine Klassen, sondern einfach Namespaces . Dies bedeutet, dass Namen gruppiert werden, um Namenskollisionen zu vermeiden .Das führende
\
MittelAnimal
wurde im globalen Geltungsbereich deklariert.quelle
Das
\
wird in PHP 5.3 für Namespaces verwendet. Weitere Informationen zu Namespaces und PHP finden Sie unter http://www.php.net/manual/en/language.namespaces.rationale.php .quelle