PSR-1标准中的命名空间条目?

时间:2015-04-24 22:43:09

标签: php namespaces standards psr-1

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

Namespace Foo\Bar;

或使用大括号如

是否正确
Namespace Foo\Bar
{
    // ....
}

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

2 个答案:

答案 0 :(得分:2)

括号内的命名空间是recommended method,用于在单个文件中定义多个命名空间。

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

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

答案 1 :(得分:2)

表格Namespace and Class Names PSR-1 standrad

  

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

     

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

     

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

示例:

namespace Vendor\Model;

class Foo
{
}

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