gpt4 book ai didi

Laravel:对于 Eloquent 关系方法,我应该坚持使用驼峰命名法吗?

转载 作者:行者123 更新时间:2023-12-01 09:14:59 27 4
gpt4 key购买 nike

Laravel 鼓励我们使用snake_case,例如first_name,用于模型属性名称。特别是,当使用蛇形大小写从类外部访问属性时,它会自动查找名为 getFirstNameAttribute 的访问器。

然而,当谈到模型关系时,使用驼峰式似乎更自然。例如,如果一个体育场有多个接入点,那么 stadium 类可能有一个 accessPoints() 方法。我可以将此方法称为属性 ( $stadium->accessPoints ) 以检索访问点列表,也可以将其称为方法 ( $stadium->accessPoints() ) 以获取基础查询构建器的实例。

这与我通常处理命名约定的方式不同。我通常会使用相同的大小写(snake_case 或camelCase)命名属性,而不管属性是如何实现的。

我现在正在着手一个大型的 Laravel 项目。我应该坚持使用两种不同的语法,还是我可能会后悔?

最佳答案

没有真正的惯例,就像刺客信条所说的那样,

"Nothing is true, everything is permitted"



Laravel 遵循 PSR-2 编码标准。资料来源: https://laravel.com/docs/5.5/contributions

这将我们重定向到 https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md

(来自 https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md 说: 代码必须遵循 PSR-1 中概述的所有规则。 )

它说:

Whatever naming convention is used SHOULD be applied consistently within a reasonable scope. That scope may be vendor-level, package-level, class-level, or method-level.



从该声明来看,这与环境级别约定之间的分离有关,例如数据库设计约定和代码约定。大多数数据库设计约定鼓励使用蛇形大小写的列名,并且大多数代码约定使用驼峰式方法名、类名等。

并且在定义模型时,为了声明模型属性与数据库列相关,编码约定从驼峰命名更改为snake_case。

关于Laravel:对于 Eloquent 关系方法,我应该坚持使用驼峰命名法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46844910/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com