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

DETAILS_TABLE

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 7

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

4年前 评论
xianyunyehe

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

const SUCESS = 1
const ERROR = 0

//当你在代码中看到

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

}

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

}
4年前 评论

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

4年前 评论

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

4年前 评论
LOST

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

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

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

4年前 评论

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

4年前 评论

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