ID:               50806
 Updated by:       [email protected]
 Reported By:      kominbhai at gmail dot com
-Status:           Open
+Status:           Assigned
 Bug Type:         Feature/Change Request
 Operating System: Windows Vista
-PHP Version:      5.3.1
+PHP Version:      5.*, 6, 7, 8, 9..
 Assigned To:      dmitry


Previous Comments:
------------------------------------------------------------------------

[2010-01-24 04:56:45] [email protected]

There are several other ways to also re-assign $this, e.g.:

class Test {
 public function __construct() {
  var_dump($this);

  /* Quirk comes in here by using the concation operator */
  /* ${'this'} is not possible and results in an E_ERROR */

  ${'t' . 'his'} = 'Hello';
  var_dump($this);
 }
}

If any whether this should be fixed within the Engine, then Dmitry
would know so I'm re-assigning it to him for him to decide. As for a
documentation issue, I really don't belive we should document such
quirks in the official documentation else people will rely on such buggy
"features".

------------------------------------------------------------------------

[2010-01-20 15:48:54] kominbhai at gmail dot com

Description:
------------
$this can be assigned using variable casting

Reproduce code:
---------------
<?php
$a="this";
$$a="abc";

echo $this;  //works when it should not be
?>

Expected result:
----------------
Error: $this cannot be re-assigned

Actual result:
--------------
echoes abc


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=50806&edit=1

Reply via email to