#50806 [Opn->Asn]: $this can be assigned using variable casting
| From: | jani@php.net | Date: | Sun, 24 Jan 2010 21:54:45 +0000 |
| Subject: | #50806 [Opn->Asn]: $this can be assigned using variable casting | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-146898@lists.php.net to get a copy of this message | ||
ID: 50806
Updated by: jani@php.net
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] kalle@php.net
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