PHP接口和命名空间

问题描述 投票:0回答:1

在开发包或应用程序时,是否有最佳实践,图标准或社区对于在命名空间中考虑将类接口放置在何处的共识?

例如,我们应该:

  • App\CarInterface
  • App\Cars\Ford
  • App\Cars\Toyota
  • App\Cars\Tesla

或者我们应该:

  • App\Cars\CarInterface
  • App\Cars\Ford
  • App\Cars\Toyota
  • App\Cars\Tesla

我问应该将接口放在与其实现相同的名称空间中。

php laravel design-patterns interface fig
1个回答
0
投票

在照明的情况下,所有接口都在illuminate/contracts/<<FunctionGroup>>/<<BarInterface>>

但是,如果您认为维护/找到相关界面会更难,请选择第二个选项。我看到许多项目以这种方式组织(包括我的)。

顺便说一句,来自PSR Naming Conventions

接口必须以Interface为后缀:例如Psr\Foo\BarInterface

© www.soinside.com 2019 - 2024. All rights reserved.