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

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

例如,Symfony使用\Controller。 Yii2使用\controllers\models

关于像PSR这样的...s|es有标准吗?

php symfony yii namespaces psr-2
1个回答
8
投票

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

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

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

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