Что делает\(обратная косая черта) в 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.