Co robi \
w PHP?
Na przykład, CSRF4PHP ma \FALSE
, \session_id
i \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
źródło
źródło
Odpowiedzi:
\
(odwrotny ukośnik) to separator przestrzeni nazw w PHP 5.3.Znak
\
przed początkiem funkcji reprezentuje globalną przestrzeń nazw .Umieszczenie go tam zapewni, że wywoływana funkcja pochodzi z globalnej przestrzeni nazw, nawet jeśli istnieje funkcja o tej samej nazwie w bieżącej przestrzeni nazw.
źródło
php backslash
co doprowadziło mnie do artykułu o skutkach wybrania go jako separatora przestrzeni nazw, a następniephp namespace
dostałem dokumentację.Przestrzenie nazw
W PHP 5.3+
\
znak ukośnika odwrotnego jest używany w przestrzeniach nazw. Jest to symbol początkowy wskazujący przestrzeń nazw, a także służy jako separator między nazwami podprzestrzeni nazw.Zobacz oficjalną dokumentację dotyczącą przestrzeni nazw .
Opcache
Dodatkowo w PHP 7.0+ niektóre funkcje zostały zastąpione opcodes przez OPCache , co sprawia, że te specyficzne funkcje działają znacznie szybciej. Jednak działa to tylko wtedy, gdy funkcje są umieszczone w głównej przestrzeni nazw. Zobacz tę dyskusję na ten temat. Więc oprócz przestrzeni nazw,
\
pośrednio wpływa również na optymalizację kodu.Z tego efektu korzystają następujące funkcje natywne:
źródło
Aby wyjaśnić potencjalne zamieszanie:
Ukośnik odwrotny nie oznacza dziedziczenia klas .
W dalszej części
Animal
,Dog
,Shepherd
nie muszą być klasy, ale po prostu nazw . Oznacza coś, co służy do grupowania nazw w celu uniknięcia kolizji nazw .Wiodący
\
środekAnimal
został zadeklarowany w zakresie globalnym.źródło
\
Jest używany w PHP 5.3 dla przestrzeni nazw. Więcej informacji na temat przestrzeni nazw i PHP można znaleźć pod adresem http://www.php.net/manual/en/language.namespaces.rationale.php .źródło