PHP 's' 在命名空间中:Controller 或 Controllers,Model 或 Models?
PHP 's' in namespace: Controller or Controllers, Model or Models?
例如 Symfony 使用 \Controller
。 Yii2 使用 \controllers
和 \models
.
有没有像PSR这样的...s|es
的标准?
None 的 PSR 指定在名称空间中是使用单数还是复数。这通常是框架的约定。大写也是一样。
您是否可以在您选择的框架中使用您喜欢的命名约定(如果有的话)主要取决于框架本身,甚至可能在框架的某些部分内有所不同。在 Symfony 的情况下,默认情况下它是单数 App\Controller
,但如果您愿意,只要您的路由配置使用正确的名称,它很容易更改为 App\Controllers
或 App\controllers
。
当偏离框架的约定时,您可能 运行 会遇到问题,因为它在配置您的应用程序时具有预期。例如,Symfony 3 会自动加载你的命令,当它们被放置在 Command/
文件夹中并且 class 名称以 Command
为后缀时。当您偏离此时,您必须手动注册它们。另一方面,Symfony 4 在服务配置中使用新的 autiwiring
和 autoconfigure
默认值,并将根据它们是否实现了正确的接口来检测命令 - 直接或间接地通过扩展基本 Command-class - 因此可以有任何你喜欢的名字,可以放在任何文件夹中。因此,即使在框架内或不同版本的框架之间,将名称更改为建议以外的名称也可能会产生不同的影响。
例如 Symfony 使用 \Controller
。 Yii2 使用 \controllers
和 \models
.
有没有像PSR这样的...s|es
的标准?
None 的 PSR 指定在名称空间中是使用单数还是复数。这通常是框架的约定。大写也是一样。
您是否可以在您选择的框架中使用您喜欢的命名约定(如果有的话)主要取决于框架本身,甚至可能在框架的某些部分内有所不同。在 Symfony 的情况下,默认情况下它是单数 App\Controller
,但如果您愿意,只要您的路由配置使用正确的名称,它很容易更改为 App\Controllers
或 App\controllers
。
当偏离框架的约定时,您可能 运行 会遇到问题,因为它在配置您的应用程序时具有预期。例如,Symfony 3 会自动加载你的命令,当它们被放置在 Command/
文件夹中并且 class 名称以 Command
为后缀时。当您偏离此时,您必须手动注册它们。另一方面,Symfony 4 在服务配置中使用新的 autiwiring
和 autoconfigure
默认值,并将根据它们是否实现了正确的接口来检测命令 - 直接或间接地通过扩展基本 Command-class - 因此可以有任何你喜欢的名字,可以放在任何文件夹中。因此,即使在框架内或不同版本的框架之间,将名称更改为建议以外的名称也可能会产生不同的影响。