ID:               50806
 Updated by:       [email protected]
 Reported By:      kominbhai at gmail dot com
 Status:           Open
-Bug Type:         Documentation problem
+Bug Type:         Scripting Engine problem
 Operating System: Windows Vista
 PHP Version:      5.3.1
-Assigned To:      
+Assigned To:      dmitry
 New Comment:

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".


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

[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