例如,Symfony使用\Controller
。 Yii2使用\controllers
和\models
。
是否存在类似PSR ...s|es
的标准?
答案 0 :(得分:8)
没有PSR指定在命名空间中是使用单数还是复数。这通常是框架的惯例。资本化也是如此。
您是否可以使用您首选的命名约定 - 如果您有任何选择 - 在您选择的框架中主要取决于框架本身,甚至可能在框架的某些部分内有所不同。在Symfony的情况下,默认情况下它是单数App\Controller
,但只要您的路由配置使用正确的名称,它就可以轻松更改为App\Controllers
或App\controllers
。
如果偏离框架的惯例,您可能会遇到问题,因为它在配置您的应用时会有所期望。例如,当Symfony 3放入Command/
文件夹并且类名称后缀为Command
时,它会自动加载您的命令。当你偏离这个时,你必须手动注册它们。另一方面,Symfony 4在服务配置中使用新的autiwiring
和autoconfigure
默认值,并将根据它们是否通过扩展基本Command-class直接或间接地实现正确的接口来检测命令。因此可以有你喜欢的任何名字,可以放在任何文件夹中。因此,即使在框架内或框架的不同版本之间,将名称更改为推荐以外的其他内容可能会产生不同的影响。