我在PHP中读过这个有趣的语法:
$value = (new MyClass)->attribute1;
为什么我不能使用这种语法设置属性?结构如下:
(new MyClass) - > attribute1 ='value1';
在'='符号处抛出错误,无论该类中是否存在该属性。
答案 0 :(得分:2)
好吧,我没有看到使用它的重点,因为你失去了对象的引用,你不能再使用它了,它打破了OO的概念。
我认为(新的MyClass) - >属性1首先被解析,所以它与写出类似42 = 12
答案 1 :(得分:0)
如果类MyClass
支持所有现有实例的内部静态列表(或hashmap),这可能有意义。这样,您可以创建新对象并在列表中获取其唯一ID或索引以供将来引用(例如,通过cookie将其发送到客户端)。
至于作业,你会为这种情况发布确切的错误信息。我猜,错误是关于将某些东西分配给即将被销毁的临时值。