Btw. не было ключевого слова "использовать", когда я написал это. Пространство имен "B \ A" с классом "A" было забавным выбором. : D У меня отличный талант в именовании переменных ...: D

разница между этими двумя:

use Exception;
use \Exception;

Или те:

use Foo\Bar;
use \Foo\Bar;

руководство по эксплуатации говорит:

Обратите внимание, что для имен пространств имен (полностью определенных имен пространств имен, содержащих разделитель пространств имен, таких как Foo \ Bar, в отличие от глобальных имен, которые не делают, таких как FooBar), начальная обратная косая черта не нужна и недопустима, поскольку имена импорта должны быть полностью квалифицированными, и не обрабатываются относительно текущего пространства имен.

Но я не совсем понимаю это, так как все вышеперечисленные варианты работают, то есть это определенно не «не разрешено».

Заглянуть вzend_do_use показало, чтоis_global (устанавливается при наличии обратной косой черты) используется только для предупреждения в следующем случае:

namespace {
    use Exception;
}

Что говорит мне: «Оператор использования с не составным именем« Исключение »не имеет никакого эффекта». (Хотя делать то же самое сuse \Exception будет иметь так же мало эффекта, но не выдает предупреждение.)

Итак: я что-то упустил? Есть ли какая-то разница?

Ответы на вопрос(5)

Ваш ответ на вопрос