PHP的'命名空间:控制器或控制器,模型还是模型?

Iva*_*van 3 php namespaces yii symfony psr-2

例如Symfony使用\Controller.Yii2使用\controllers\models.

是否有...s|es类似PSR 的标准?

dbr*_*ann 8

PSR中没有一个指定在命名空间中是使用单数还是复数.这通常是框架的惯例.资本化也是如此.

是否可以使用您首选的命名约定 - 如果您有任何 - 在您选择的框架中主要取决于框架本身,甚至可能在框架的某些部分内有所不同.在Symfony的情况下,App\Controller默认情况下它是单数,但只要您的路由配置使用正确的名称,它就可以轻松更改为App\Controllers或者App\controllers如果您愿意.

当偏离框架的约定时,您可能会遇到问题,因为它在配置应用程序时有所期望.例如,当Symfony 3放在Command/文件夹中并且类名后缀时,它会自动加载您的命令Command.当你偏离这个时,你必须手动注册它们.另一方面,Symfony 4使用服务配置中的新autiwiringautoconfigure默认值,并根据它们是否通过扩展基本Command类直接或间接地实现正确的接口来检测命令,因此可以拥有您喜欢的任何名称,并且可以放在任何文件夹中.因此,即使在框架内或框架的不同版本之间,将名称更改为推荐以外的其他内容可能会产生不同的影响.