为什么类里面要定义静态常量啊?

DETAILS_TABLE

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7

我的理解是 account_details 这个值变了,只需要修改定义常量的这一行,不用动代码别的地方

6年前 评论
xianyunyehe

常量不可变。一般定义一般具有语义的变量值。比如 状态

const SUCESS = 1
const ERROR = 0

//当你在代码中看到

// 这里为啥1 ? 
if ($status === 1) {

}

if ($status === static::SUCESS) {

}
6年前 评论

不要使用魔法字符串和魔法数字,,,

6年前 评论

静态常量?你为什么要在这里问静态常量?

6年前 评论
LOST

可以理解为类的固有属性,不因实例化之后的对象不同而改变。
至于为什么这样用,可能要和开发者当时的想法有关了,毕竟没有硬性的规定。

6年前 评论
Yesir (楼主) 6年前

这样做语义明了,便于理解。方便静态调用不用实例化类,节省资源。
而且这些类常量可能会在其他地方被多次调用,便于修改

6年前 评论

建议和数据库中状态有关的常亮都定义在相应的model里面,方便理解

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!