Что делает (обратная косая черта) в PHP (5.3+)?


Что значит делать в PHP?

например, CSRF4PHP и 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);
    }
}
4 113

4 ответа:

\ (обратная косая черта) является разделителем пространства имен в PHP 5.3.

A \ перед началом функции представляет собой Глобальное Пространство Имен.

помещая его туда, вы убедитесь, что вызываемая функция из глобального пространства имен, даже если в текущем пространстве имен есть функция с тем же именем.

чтобы прояснить потенциальную путаницу:

обратная косая черта не означает наследование классов.

в дальнейшем Animal,Dog,Shepherd не должны быть классы, а просто пространства имен. Значение чего-то используется для группировки имен вместе с избежать конфликтов имен.

$myDog = new \Animal\Dog\Shepherd\GermanShepherd();

ведущий \ означает Animal была объявлена в глобальной области видимости.

на \ используется в PHP 5.3 для пространств имен. См.http://www.php.net/manual/en/language.namespaces.rationale.php для получения дополнительной информации о пространствах имен и PHP.

пространства имен

в PHP 5.3+ обратная косая черта \ символ используется в пространствах имен. Это начальный символ для обозначения пространства имен, а также служит разделителем между именами подпространств.

посмотреть официальную документацию о пространства имен.

Opcache

кроме того, в PHP 7.0+ некоторые функции заменен на opcodes by OPCache, что делает эти конкретные функции, работать намного быстрее. Однако это работает только тогда, когда функции помещаются в корневое пространство имен. Смотрите это обсуждение об этой теме. Так что помимо пространства имен,\ косвенно тоже влияет на оптимизацию кода.

следующие собственные функции извлекают выгоду из этого эффекта:

"array_slice"
"assert"
"boolval"
"call_user_func"
"call_user_func_array"
"chr"
"count"
"defined"
"doubleval"
"floatval"
"func_get_args"
"func_num_args"
"get_called_class"
"get_class"
"gettype"
"in_array"
"intval"
"is_array"
"is_bool"
"is_double"
"is_float"
"is_int"
"is_integer"
"is_long"
"is_null"
"is_object"
"is_real"
"is_resource"
"is_string"
"ord"
"strlen"
"strval"