当您将项目作为开源项目时,如何为项目选择命名空间。
作为一个例子,我正在为一个提供开放数据的政府部门开发一个图书馆。该库将被称为RWS
。
两个选项是gerbenjacobs\RWS
或RWS\RWS
。因此,无论是开发人员的名称还是涉及的部门,都不会觉得语义正确。这个图书馆适合所有人。
我应该如何命名这个?
答案 0 :(得分:1)
使用您的名字的人是避免碰撞的一种非常安全的方法,至少在开发阶段是这样。 如果没有人能想到更好的命名空间命名系统,请保持原样。或者使用特定命名空间处理内容的描述,例如email_sorting_module或其他类似命令。不要为自己制造麻烦。
答案 1 :(得分:1)
如果您要开发和维护此应用,请使用作者前缀, 否则使用公司或部门前缀。
\author\software
\author\software\package
\company\software
\company\software\package
以命名空间用例为例:
<强> Symfony的强> 他们使用子名称空间“Component”,只是为了拥有清晰的文件夹结构。
namespace Symfony\Component\BrowserKit;
<强>的Zend 强> 他们使用Company \ Component。
namespace Zend\Authentication;
但我的建议是使用namespace RWS\PackageOne;
。
请记住,命名空间反映了您的文件夹结构(PSR)!