@Kerm

Что означает обратный слеш перед вызовом функции?

Совершенно случайно смотрел чужой код и стало интересно для чего так делают, можете подсказать?

if (!\in_array(.....) {}

if (\count($order) > 0) {}

return \is_array($field) ?......
  • Вопрос задан
  • 352 просмотра
Решения вопроса 3
syamskoy
@syamskoy
<?php

namespace myNameSpace;

function in_array($value, $arr)
{
    return 'Local function';
}
$arr = [1, 2, 3];
$value = 1;

var_dump(in_array($value, $arr));
var_dump(\in_array($value, $arr));

Результат:
string(14) "Local function"
bool(true)


Зачем это нужно? Только если в текущем пространстве имен объявленна одноименная функция как и в глобальном. И что бы обратиться к глобальной, используется слеш - глобальное пространство имен.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
SerafimArts
@SerafimArts
Junior HTML Developer
Это оптимизация опкода PHP. Без обратного слеша в функциях в локальном неймспейсе вызывается 3 опкода, с обратным слешом - один.

P.S. https://veewee.github.io/blog/optimizing-php-perfo...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы