4

我正在寻找在遵循 PSR-1 标准的 PHP 类中编写命名空间的正确方法(如果其中一个正确,请告诉我)。我环顾四周,但没有看到任何具体的东西。是正确的使用方法

Namespace Foo\Bar;

或者使用大括号是否正确,例如

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

如果两者都是正确的,是否有特定的理由使用一个而不是另一个?我意识到这部分可能是基于意见的。

4

2 回答 2

2

带括号的命名空间是在单个文件中定义多个命名空间的推荐方法。

如果文件中只有一个命名空间,则使用非括号版本。

PSR-1 建议每个文件一个类,因此您也应该将自己限制为每个文件一个命名空间。

于 2015-04-24T22:53:04.057 回答
2

表单命名空间和类名 PSR-1 标准

命名空间和类必须遵循“自动加载” PSR:[PSR-0 , PSR-4]

这意味着每个类都在一个文件中,并且在至少一个级别的命名空间中:顶级供应商名称。

为 PHP 5.3 及之后编写的代码必须使用正式的命名空间:

例子 :

namespace Vendor\Model;

class Foo
{
}

这意味着 PSR-1 标准建议使用您的第一种形式,因为使用第二种形式(使用花括号)您可以在一个文件中拥有多个命名空间,这样您就不会遵循 PSR-1命名空间的标准。

于 2015-04-24T23:20:37.397 回答