Внутри пространства имен, когда PHP встречает неполное имя в имени класса, функции или константном контексте, он разрешает их с разными приоритетами. Имена классов всегда разрешаются в текущее имя пространства имен. Таким образом, чтобы получить доступ к внутренним или не находящимся в пространстве имен пользовательским классам, необходимо обращаться к ним с их полным именем, как в следующем примере:

Пример #1 Доступ к глобальным классам внутри пространства имен

<?php
namespace A\B\C;
class Exception extends \Exception {}

$a = new Exception('hi'); // $a is an object of class A\B\C\Exception
$b = new \Exception('hi'); // $b is an object of class Exception

$c = new ArrayObject; // fatal error, class A\B\C\ArrayObject not found
?>

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

Пример #2 глобальные функции/константы откатываются внутри пространства имен

<?php
namespace A\B\C;

const E_ERROR = 45;
function strlen($str)
{
    return \strlen($str) - 1;
}

echo E_ERROR, "\n"; // prints "45"
echo INI_ALL, "\n"; // prints "7" - falls back to global INI_ALL

echo strlen('hi'), "\n"; // prints "1"
if (is_array('hi')) { // prints "is not array"
    echo "is array\n";
} else {
    echo "is not array\n";
}
?>