PHP接口和命名空间

时间:2018-03-03 13:18:34

标签: php laravel design-patterns interface fig

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

例如我们应该:

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

或者我们应该:

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

我要求将接口放在与其实现相同的名称空间中。

1 个答案:

答案 0 :(得分:0)

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

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

顺便说一下,来自PSR Naming Conventions

  

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