PHP接口应该具有命名空间吗?

时间:2015-08-19 09:57:27

标签: php class interface namespaces

我正在编写一个PHP接口,我想知道是否应该在该接口文件中有一个名称空间语句。

因此,在命名空间中创建接口或者只应将实现接口的类放在命名空间内是一个好主意吗?或者它们是否都有(不同的)名称空间?

以下是命名空间中接口的示例:

<?php
namespace \Vendor\App\DatabaseAccess;

interface DatabaseAccessInterface
{
}

以下是在同一命名空间中实现该接口的示例:

<?php
namespace \Vendor\App\DatabaseAccess;

class DatabaseAccess implements DatabaseAccessInterface
{
}

接口和类可以与示例中的名称空间相同,也可以位于不同的名称空间中。或者,接口可以完全省略命名空间声明。哪种方式最适合代码可重用性以及为什么?

1 个答案:

答案 0 :(得分:0)

nathanthedeveloper在评论中是正确的,答案是使用与确定类名称空间相同的原理。进行命名间隔的原因是不会使全局名称空间混乱,并且在这方面,类和接口之间确实没有区别。因此答案是肯定的,接口应该具有名称空间,并且应该与类相同,因为它们都属于同一逻辑位置。