我正在寻找正确的方法(如果其中一个是正确的,请让我知道)在符合PSR-1标准的PHP类中编写命名空间。我环顾四周,但没有看到任何具体的东西。是正确的使用方式
Namespace Foo\Bar;
或使用大括号如
是否正确Namespace Foo\Bar
{
// ....
}
如果两者都正确,是否有特别的理由使用一个而不是另一个?我意识到这部分可能是基于意见的。
答案 0 :(得分:2)
括号内的命名空间是recommended method,用于在单个文件中定义多个命名空间。
如果文件中只有一个名称空间,则使用非括号内的版本。
PSR-1建议每个文件使用一个类,因此您应该将自己限制为每个文件一个命名空间。
答案 1 :(得分:2)
表格Namespace and Class Names PSR-1 standrad:
命名空间和类必须遵循“自动加载”PSR: [PSR-0,PSR-4]。
这意味着每个类本身都在一个文件中,并且位于至少一个级别的命名空间中:顶级供应商名称。
为PHP 5.3编写的代码以及必须使用正式名称空间之后:
示例:
namespace Vendor\Model;
class Foo
{
}
这意味着PSR-1标准建议使用你的第一个表单,因为第二个表单(使用花括号)你可以在一个文件中有多个命名空间,这样你就不会遵循名称空间的PSR-1标准。