问答 / 1 / 12 / 创建于 2年前
重新model的getAttribute 、setAttribute方法
getAttribute
setAttribute
public function getAttribute($key): mixed { return parent::getAttribute(Str::snake($key)); } public function setAttribute($key, $value): mixed { return parent::setAttribute(Str::snake($key), $value); }
其实下划线是可读性最强的编码风格,Laravel推荐使用驼峰,没有必要强迫自己也使用驼峰,下划线也不影响自动加载。
应该没有 "Laravel变量" 这种说法,我觉得没有必要太纠结,可以选择都写成 data_get($model, 'field_name') 这种方式来访问模型属性 或 data_get($model, 'relationName.field_name') 来访问 关系模型属性。同理赋值可以使用 data_set 辅助函数。
一般数据库的字段是建议使用下划线,例如head_image这样的。至于laravel或者说代码层面,只要保证统一的规范就行。例如:
head_image
// 方法名使用驼峰 public function getUserName() { $nickName = "李大";// 代码层面变量驼峰 $user = new User(); $user->nick_name = $nickName;// 数据库字段使用下划线 return $user->save(); }
只要统一规范,不是大问题
个人喜欢驼峰,下划线变量一长起来就完蛋
所以对代码语义化要求很高
反正都是有利有弊
我觉得没有必要去做这个额外的事情自寻烦恼,模型属性就保持和数据库一致,反而是比较符合心理预期的。其他自定义的命名编码,遵循PSR就可以了
我要举报该,理由是:
重新model的
getAttribute、setAttribute方法其实下划线是可读性最强的编码风格,Laravel推荐使用驼峰,没有必要强迫自己也使用驼峰,下划线也不影响自动加载。
应该没有 "Laravel变量" 这种说法,我觉得没有必要太纠结,可以选择都写成 data_get($model, 'field_name') 这种方式来访问模型属性 或 data_get($model, 'relationName.field_name') 来访问 关系模型属性。同理赋值可以使用 data_set 辅助函数。
一般数据库的字段是建议使用下划线,例如
head_image这样的。至于laravel或者说代码层面,只要保证统一的规范就行。例如:
只要统一规范,不是大问题
个人喜欢驼峰,下划线变量一长起来就完蛋
所以对代码语义化要求很高
反正都是有利有弊
我觉得没有必要去做这个额外的事情自寻烦恼,模型属性就保持和数据库一致,反而是比较符合心理预期的。其他自定义的命名编码,遵循PSR就可以了