我目前关注 PSR-2 和 PSR-4。在尝试命名几个类时,我遇到了一个小难题。这是一个例子。
我有一个基本的 REST 客户端,\Vendor\RestClient\AbstractClient
. 我有这个抽象客户端的两个实现:
\Vendor\GoogleClient\GoogleClient
\Vendor\GithubClient\GithubClient
由于命名空间已经指定了域,因此客户端类的命名是否多余?我应该改为命名我的课程:
\Vendor\GoogleClient\Client
\Vendor\GithubClient\Client
这意味着客户端代码将始终使用以下内容:
use Vendor\GoogleClient\Client;
$client = new Client();
这比:
use Vendor\GoogleClient\GoogleClient;
$client = new GoogleClient();
但是第一个选项允许我们通过仅更改 use 语句轻松地换出实现。
PSR4 指定Interfaces
andAbstractClasses
应该分别加上后缀Interface
和前缀Abstract
,但它没有说明域特定的前缀/后缀。有什么意见/建议吗?