关于抽象类和接口的 PHP 命名约定
2022-08-30 20:21:59
抽象类是否应始终以前缀和后缀(当它是接口时)?是否有任何标准的命名约定,类似于PSR-0的文件夹结构/命名空间,但对于类?Abstract
Interface
这似乎是多余的,因为该语言具有用于此目的的文字关键字。
abstract class AbstractFoo {}
interface InterfaceFoo {}
trait TraitFoo {}
抽象类是否应始终以前缀和后缀(当它是接口时)?是否有任何标准的命名约定,类似于PSR-0的文件夹结构/命名空间,但对于类?Abstract
Interface
这似乎是多余的,因为该语言具有用于此目的的文字关键字。
abstract class AbstractFoo {}
interface InterfaceFoo {}
trait TraitFoo {}
虽然没有任何约定,但我认为对各自的组件使用前缀和后缀是一种很好的做法。它有助于一目了然地更好地理解代码,IMO。Abstract
Interface
PHP-FIG项目确实通过PSR命名约定“ByLaw”提出了命名约定 https://www.php-fig.org/bylaws/psr-naming-conventions/
它指出:
接口必须以接口为后缀:例如Psr\Foo\BarInterface
抽象类必须以抽象为前缀:例如Psr\Foo\AbstractBar
性状必须以性状为后缀:例如Psr\Foo\BarTrait
这些约定通常在包中遵循