如何为个别开发人员选择命名空间?

时间:2014-03-27 13:31:44

标签: php namespaces semantics

当您将项目作为开源项目时,如何为项目选择命名空间。

作为一个例子,我正在为一个提供开放数据的政府部门开发一个图书馆。该库将被称为RWS

两个选项是gerbenjacobs\RWSRWS\RWS。因此,无论是开发人员的名称还是涉及的部门,都不会觉得语义正确。这个图书馆适合所有人。

我应该如何命名这个?

2 个答案:

答案 0 :(得分:1)

使用您的名字的人是避免碰撞的一种非常安全的方法,至少在开发阶段是这样。 如果没有人能想到更好的命名空间命名系统,请保持原样。或者使用特定命名空间处理内容的描述,例如email_sorting_module或其他类似命令。不要为自己制造麻烦。

答案 1 :(得分:1)

如果您要开发和维护此应用,请使用作者前缀, 否则使用公司或部门前缀。

\author\software
\author\software\package

\company\software
\company\software\package

以命名空间用例为例:

  1. <强> Symfony的 他们使用子名称空间“Component”,只是为了拥有清晰的文件夹结构。

    namespace Symfony\Component\BrowserKit;

  2. <强>的Zend 他们使用Company \ Component。

    namespace Zend\Authentication;

  3. 但我的建议是使用namespace RWS\PackageOne;

    请记住,命名空间反映了您的文件夹结构(PSR)!