【发布时间】:2015-11-12 13:29:24
【问题描述】:
我正在编写一个 PHP 接口,我想知道是否应该在该接口文件中包含命名空间语句。
那么在命名空间中拥有一个接口是一个好主意,还是应该只有实现该接口的类才应该在命名空间中?还是它们都应该有(不同的)命名空间?
这是一个命名空间中的接口示例:
<?php
namespace \Vendor\App\DatabaseAccess;
interface DatabaseAccessInterface
{
}
这是在同一命名空间内实现该接口的示例:
<?php
namespace \Vendor\App\DatabaseAccess;
class DatabaseAccess implements DatabaseAccessInterface
{
}
接口和类可以在与示例相同的命名空间中,也可以在不同的命名空间中。或者,接口可以完全省略名称空间声明。哪种方式最适合代码可重用性,为什么?
【问题讨论】:
-
你能用一些例子详细说明你的问题吗?
-
接口是否属于命名空间?使用与类相同的原则 - 如果使用命名空间有意义,请使用一个。通常答案是肯定的(使用命名空间),不要将全局命名空间与您的自定义接口混为一谈。
-
是的,应该。所以,.. 去做吧!
标签: php class interface namespaces