我正在制作一个抽象类来缓解对属性的处理。
现在我想使用二进制OR(|)运算符为某个属性设置一些常量选项。在定义类中的属性时使用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;
}
这将返回以下错误:
Parse error: syntax error, unexpected '|'
我怎么能做到这一点,而不必键入:
protected $_property__type = 17;
的[设置一个变量,以什么json_encode()输出在PHP(可能重复http://stackoverflow.com/questions/5631246/set-a-variable-to-what-json-encode-输出在php) – 2011-04-19 16:21:16
@ Shakti:根本原因和解决方案是一样的,但这绝不是重复的问题。 – 2011-04-19 16:25:41
@Shakti:不,在我的情况下是关于使用常量。在json案例中使用了一种方法。 – ANisus 2011-04-19 16:27:23