我想知道PHP在创建对象时是否有用于获取对象字段的简短表示法。
例如,在Java中,我不必将新创建的对象放在变量中以获取其中一个字段。 例如:
public class NewClass {
public int testNum = 5;
}
现在,要在新创建的对象中获取testNum
字段,我所要做的就是:
int num = (new NewClass()).testNum;
虽然PHP中的类似案例会迫使我这样做:
$obj = new NewClass();
$num = $obj->testNum;
PHP中有没有办法在一个语句中执行此操作? 注意:我无法编辑类。
答案 0 :(得分:2)
也许您正在寻找静态属性或常量
public class NewClass {
const NUM = 5;
public static $num = 5;
}
$num = NewClass::NUM;
$num = NewClass::$num;
如果你真的需要对象成员,那么不,PHP目前不支持这个,但是它计划在下一个5.4版本中发布。
答案 1 :(得分:2)
您可以在类中创建一个包装器创建函数来调用构造函数,然后您可以简单地:
$num = NewClass::Create()->testNum;
答案 2 :(得分:1)
您只能通过函数/方法调用来执行此操作
new
不是一个函数,而是一个语言结构。