【发布时间】:2009-07-19 15:13:39
【问题描述】:
在 PHP 5.3 之前,我曾经这样命名接口/抽象类:
abstract class Framework_Package_Subpackage_Abstract {}
Framework/Package/Subpackage/Abstract.php
interface Framework_Package_Subpackage_Interface {}
Framework/Package/Subpackage/Interface.php
现在使用 PHP 5.3 并使用命名空间,我不能再使用我的约定了,因为 interface 和 abstract 是保留关键字。
namespace Framework\Package\Subpackage;
abstract class Abstract {}
Framework/Package/Subpackage/Abstract.php
namespace Framework\Package\Subpackage;
interface Interface {}
Framework/Package/Subpackage/Interface.php
那么,我应该如何命名我的类/接口?
【问题讨论】:
-
自 PHP5 以来abstract/interface 不是保留关键字吗?
-
是的,他们是;但是,为类使用诸如 Framework_Package_Subpackage_Abstract 之类的名称解决了将这些词单独用作类名的问题。
-
但到目前为止这还不是问题,因为接口的名称包含用于自动加载目的的整个包路径。
标签: php namespaces naming-conventions