Что делает\(обратная косая черта) в PHP (5.3+)?
Что делает \
в PHP?
Например, https://github.com/foxbunny/CSRF4PHP/blob/60d9172b7f0cd93346cac9065fb17182854ebf1c/CsrfToken.php#L80-L87 имеет \FALSE
, \session_id
и \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);
}
}
Ответы
Ответ 1
\
(обратная косая черта) является разделителем пространства имен в PHP 5.3.
A \
перед началом функции представляет Глобальное пространство имен.
Положив его, будет гарантирована, что вызванная функция будет из глобального пространства имен, даже если в текущем пространстве имен есть функция с тем же именем.
Ответ 2
Чтобы прояснить потенциальную путаницу:
Обратная косая черта не подразумевает наследование класса.
В дальнейшем Animal
, Dog
, Shepherd
не должны быть классами, а просто namespaces. Значение чего-то, используемого для группировки имен вместе , избегает коллизий имен.
$myDog = new \Animal\Dog\Shepherd\GermanShepherd();
В глобальной области действия объявлено начало \
означает Animal
.
Ответ 3
\
используется в PHP 5.3 для пространств имен. См. http://www.php.net/manual/en/language.namespaces.rationale.php для получения дополнительной информации об пространствах имен и PHP.