我有一个数据库类,它自动建立与数据库的连接,并做一些基本的输入过滤和诸如此类的东西。我正在设置一些预定义的常量来调整类方法的行为。我应该将常量值设置为什么?由于这些值永远不会被直接引用或比较,而只是在常量名称的上下文中,这个值是否重要?
我遇到的一种策略是将常量设置为位值,以便可以使用按位运算符组合常量。在这种情况下,它看起来不像是必要的功能,但你永远不会知道。
我常常收到像
这样的消息Notice: Use of undefined constant CONSTANT_VALUE - assumed 'CONSTANT_VALUE'
这是否像字符串'CONSTANT_VALUE'或常量CONSTANT_VALUE一样处理常量?我应该将我的常量的值定义为同名的字符串来弥补这一点吗?当我使用我知道在某些时候定义的常量时会发生这种情况,例如DOCUMENT_ROOT。
我是否错过了其中任何一种更好的做法?
答案 0 :(得分:2)
如果您收到该消息,则该代码正在运行时定义的不,并且它被视为字符串'CONSTANT_VALUE'
。
如果您定义的一组常量的值完全是任意的且不需要是可以掩码的,请使用正整数序列。
答案 1 :(得分:0)
如果不在数据库类之外使用常量,则不需要定义全局常量,可以使用类常量: