Записи пространства имен в стандарте PSR-1?

Я ищу правильный способ (если какой-либо из них правильный, пожалуйста, дайте мне знать) для написания пространств имен в классах PHP, которые соответствуют стандарту PSR-1. Я оглянулся, но ничего конкретного не увидел. Это правильный способ использования

Namespace Foo\Bar;

или правильно использовать фигурные скобки, такие как

Namespace Foo\Bar
{
    // ....
}

Если оба они верны, есть ли конкретная причина использовать один над другим? Я понимаю, что эта часть может быть основана на мнении, хотя.

2 ответа

Решение

Пространство имен в квадратных скобках является рекомендуемым методом определения нескольких пространств имен в одном файле.

Если у вас есть только одно пространство имен в файле, используйте версию без скобок.

PSR-1 рекомендует один класс на файл, поэтому вам, вероятно, следует ограничить себя одним пространством имен на файл.

Форма пространства имен и имен классов PSR-1 стандарт:

Пространства имен и классы ДОЛЖНЫ следовать "автозагрузке" PSR: [PSR-0, PSR-4].

Это означает, что каждый класс находится в файле сам по себе и находится в пространстве имен как минимум одного уровня: имя поставщика верхнего уровня.

Код, написанный для PHP 5.3 и после, ДОЛЖЕН использовать формальные пространства имен:

Пример:

namespace Vendor\Model;

class Foo
{
}

Это означает, что стандарт PSR-1 рекомендует использовать вашу первую форму, потому что со второй (которая использует фигурные скобки) вы можете иметь более одного пространства имен в одном файле, и таким образом вы не будете следовать PSR-1. стандарт для пространств имен.

Другие вопросы по тегам