#php #php-7 #psr-12
#php #php-7 #psr-12
Вопрос:
Я работаю над автоматизацией качества кода с phpmd
phpcs
phpcpd
помощью инструментов и . Для анализатора кода установлено значение --standard=PSR12
.
Я не смог найти никаких подробностей или рекомендаций в отношении того, как следует определять импорт и псевдонимы пространства имен:
- группировка с помощью фигурных скобок или определение каждого из них отдельным способом (что на данный момент является моим предвзятым предложением)
- Сортировка по алфавиту
Например:
use FooBar{ Lorem, Ipsum, Dolor };
против:
use FooBarDolor;
use FooBarIpsum;
use FooBarLorem;
Если нет стандартной рекомендации, я собираюсь установить внутреннее правило в моей команде, но если оно есть, я с радостью подчинюсь ему.
Комментарии:
1. Если это не упоминается в их руководстве по стандарту кода (на которое вы ссылались), то у них нет мнения об этом.
2. Вы могли бы сделать правилом в своей команде, что все файлы PHP должны быть переформатированы с помощью автоматических инструментов (например, PhpStorm), которые должны удовлетворять PSR-12. Вероятно, линтер мог бы это тоже проверить — я бы не увидел никакой ценности в том, чтобы идти дальше и дальше.
Ответ №1:
Существует несколько правил, касающихся пространств имен, но ни одно из них явно не требует порядка. Однако это указано в отношении глубины при их объявлении:
Составные пространства имен с глубиной более двух НЕ ДОЛЖНЫ использоваться. Поэтому ниже приведена максимально допустимая глубина компаундирования:
use VendorPackageSomeNamespace{
SubnamespaceOneClassA,
SubnamespaceOneClassB,
SubnamespaceTwoClassY,
ClassZ,
};
И следующее не будет разрешено:
use VendorPackageSomeNamespace{
SubnamespaceOneAnotherNamespaceClassA,
SubnamespaceOneClassB,
ClassZ,
};
Для общего правила, если это явно не указано, то стандарта нет. Либо работает.
Вы можете прочитать больше о существующих правилах здесь: