title: Is there a switch to disable "cannot use temporary expression in write context" error?
body: <p>The error was added in PHP7 and I have problem with such code as:</p>
  
  <pre><code>(some complex expression)-&gt;my_property = 1
  </code></pre>
  
  <p><em>Please note I am assigning to the field of the object, not to the object itself (assigning to temporary object does not make sense, I agree, but here it is <strong>not</strong> the case).</em></p>
  
  <p>This gives me an error "cannot use temporary expression in write context". When I rewrite this as:</p>
  
  <pre><code>$tmp = (some complex expression);
  $tmp-&gt;my_property = 1;
  </code></pre>
  
  <p>Everything is fine. The problem is I have to have single expression (assignment is an expression), and since PHP does not support comma operator now I am toasted with two <strong>statements</strong>.</p>
  
  <p>For me this is huge difference, because I cannot pass entire code as an expression further. Everything is valid inside that "complex expression" so I would love to simply disable that check in PHP.</p>
  
  <p>Is it possible? How?</p>
  
  <p><em>My code is written automatically (it is generated) and the outcome of the expression is a valid PHP object, the problem is PHP somehow does not notice it. Besides, the second form works.</em></p>
  
  <p>Update: this is an <strong>example</strong> of complex expression I mentioned above:</p>
  
  <pre><code>(($a = foo()) === 0 ? $a : bar())
  </code></pre>