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
будет иметь так же мало эффекта, но не выдает предупреждение.)
Итак: я что-то упустил? Есть ли какая-то разница?