【发布时间】:2011-08-08 19:56:54
【问题描述】:
我正在创建一个抽象类来简化属性的处理。
现在我想使用二元 OR ( | ) 运算符为属性设置一些常量选项。
class VarType
{
// Variable types
const MIXED = 0;
const STRING = 1;
const INT = 2;
const FLOAT = 3;
const BOOL = 4;
const ARRAY_VAL = 5;
const OBJECT = 6;
const DATETIME = 7;
// Variable modes
const READ_ONLY = 16;
const NOT_NULL = 32;
}
class myClass {
protected $_property = 'A string of text';
protected $_property__type = VarType::STRING | VarType::READ_ONLY;
}
这会返回以下错误:
解析错误:语法错误,意外'|'
如何在不输入的情况下做到这一点:
protected $_property__type = 17;
【问题讨论】:
-
@Shakti:根本原因和解决方案是一样的,但这绝不是重复的问题。
-
@Shakti:不,就我而言,它是关于使用常量。在 json-case 中使用了一个方法。
-
@ANisus:实际上是这样。您的
|操作是表达式的一部分,就像相关问题中的函数调用一样。但是我同意;相似之处不足以保证将其称为“重复”。