PSR-1 标准中的命名空间条目?
Namespace entries in PSR-1 standard?
我正在寻找在 PHP 类 中编写遵循 PSR-1 标准的命名空间的正确方法(如果其中任何一个是正确的,请告诉我)。我环顾四周,但没有看到任何具体的东西。正确的使用方法是
Namespace Foo\Bar;
或者使用大括号是否正确,例如
Namespace Foo\Bar
{
// ....
}
如果两者都正确,是否有特别的理由使用其中一个?我意识到这部分可能是基于意见的。
方括号中的命名空间 recommended method 用于在单个文件中定义多个命名空间。
如果文件中只有一个命名空间,则使用无括号的版本。
PSR-1 建议每个文件一个 class,因此您可能也应该将自己限制为每个文件一个命名空间。
表格Namespace and Class Names PSR-1 standrad:
Namespaces and classes MUST follow an "autoloading" PSR: [PSR-0, PSR-4].
This means each class is in a file by itself, and is in a namespace of at least one level: a top-level vendor name.
Code written for PHP 5.3 and after MUST use formal namespaces :
示例:
namespace Vendor\Model;
class Foo
{
}
这意味着 PSR-1 标准建议使用第一种形式,因为对于第二种形式(使用大括号),您可以在单个文件中拥有多个命名空间,这样您就不会遵循命名空间的 PSR-1 标准。
我正在寻找在 PHP 类 中编写遵循 PSR-1 标准的命名空间的正确方法(如果其中任何一个是正确的,请告诉我)。我环顾四周,但没有看到任何具体的东西。正确的使用方法是
Namespace Foo\Bar;
或者使用大括号是否正确,例如
Namespace Foo\Bar
{
// ....
}
如果两者都正确,是否有特别的理由使用其中一个?我意识到这部分可能是基于意见的。
方括号中的命名空间 recommended method 用于在单个文件中定义多个命名空间。
如果文件中只有一个命名空间,则使用无括号的版本。
PSR-1 建议每个文件一个 class,因此您可能也应该将自己限制为每个文件一个命名空间。
表格Namespace and Class Names PSR-1 standrad:
Namespaces and classes MUST follow an "autoloading" PSR: [PSR-0, PSR-4].
This means each class is in a file by itself, and is in a namespace of at least one level: a top-level vendor name.
Code written for PHP 5.3 and after MUST use formal namespaces :
示例:
namespace Vendor\Model;
class Foo
{
}
这意味着 PSR-1 标准建议使用第一种形式,因为对于第二种形式(使用大括号),您可以在单个文件中拥有多个命名空间,这样您就不会遵循命名空间的 PSR-1 标准。