我现在处于开源PHP项目的预发布阶段,我希望其他开发人员可以在自己的项目中使用该项目。该项目当前不支持名称空间,我正在尝试评估它是否应该使用名称空间或Dir_Subdir_Class的PEAR命名约定,这似乎具有所有相同的技术优点,而没有一些缺点。老实说,这不是一个容易的选择。
关于名称空间的一些注意事项:
- 我的项目试图通过提供比其他类似项目更简单的API来与众不同的方式之一。因为名称空间是新的,而且因为它们比PEAR命名约定更复杂,所以将它们引入代码库会使我的项目使用起来不那么简单。通过实施它们,我在易用性方面失去了一些差异。
- 虽然我看到了命名空间的一些好处,但它们似乎并没有解决使用PEAR命名约定的现代PHP产品中需要解决的问题。使用项目时,如果不存在命名冲突,则应尽量减少。
- 这文章给了我在采用的命名空间及其实施已不到恒星一些暂停。
- 我也很犹豫,跳上一个可能永远不会走的潮流。由于名称空间是PHP的新功能,因此我还不确定它们将成为标准的。
- 兼容性。几乎所有以前写过的PHP代码都不使用名称空间,因为它是一项新功能。如果不进行转换,其他库将不兼容。
使用名称空间的一些要点:
- 知觉。如果名称空间成为标准和最佳实践,那么没有它们,我的项目很快就会被视为不专业且过时的项目。
- 竞争。尽管一些竞争的PHP项目开始在其最新版本中使用名称空间,但许多项目尚未实现飞跃。现在这样做可以使我的项目在其他项目上有优势。
- 如果我现在在项目公开之前而不是之后进行转换,那以后的工作会更容易,因为我不得不暂时支持它的两个版本。
- 我想支持最佳实践,如果名称空间成为PHP的最佳实践,则我的项目应使用它们。
据我所知,您必须选择一种方法。你不能两者都做。有没有我没有考虑的观点?是否有任何客观的迹象(请不要烈火)指向或反对命名空间成为PHP的专业标准?我将不胜感激,您愿意分享任何见解或资源,因为我需要尽快做出决定。