Я новичок в использовании пространств имен в PHP, и они кажутся очень простыми. Однако, когда я добавил пространство имен в начало большого файла, содержащего классы, интерфейсы и блокировки, код вообще не работал. По-видимому, некоторые элементы не квалифицированы должным образом.php namespaces: что нужно квалифицировать?
Например:
<?php
namespace MyNamespace;
interface MyInterface { ... }
class MyClass implements MyInterface { ... }
...
Я прочитал документацию на php.net, но я не мог найти простой список элементов, которые требуют квалификации в рамках единого имени пространства (глобально или иначе).
Итак, мой вопрос: если вы просто объявляете пространство имен в верхней части файла без пространства имен, какие элементы потребуют квалификации в этом сценарии?
Как и в настоящее время, предполагается, что 'MyInterface' находится в пространстве имен' MyNamespace'. Чтобы получить 'MyInterface' из корневого/глобального пространства имен, используйте' \ MyInterface', это означает, что 'MyInterface' не помещается в имена. Если это пространство имен, вы должны сделать '\ TheNamespace \ MyInterface' или определить' \ TheNamespace \ MyInterface' в верхней части файла, чтобы вы могли просто использовать 'MyInterface' – PeeHaa
« код вообще перестали работать »не очень понятный описание проблемы. Пожалуйста, предоставьте [полный пример простой части кода] (http://stackoverflow.com/help/mcve) с ожидаемым результатом и полученным результатом/сообщением об ошибке. – IMSoP