php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #38317 "cannot reassign $this" outside object scope
Submitted: 2006-08-03 17:03 UTC Modified: 2006-08-04 07:48 UTC
From: giunta dot gaetano at sea-aeroportimilano dot it Assigned:
Status: Wont fix Package: Scripting Engine problem
PHP Version: 5.1.4 OS: windows 2000
Private report: No CVE-ID: None
View Add Comment Developer Edit
Anyone can comment on a bug. Have a simpler test case? Does it work for you on a different platform? Let us know!
Just going to say 'Me too!'? Don't clutter the database with that please — but make sure to vote on the bug!
Your email address:
MUST BE VALID
Solve the problem:
50 + 1 = ?
Subscribe to this entry?

 
 [2006-08-03 17:03 UTC] giunta dot gaetano at sea-aeroportimilano dot it
Description:
------------
It seems like php 5.1.4 does not like an assignment to variable '$this', regardless of the scope:
- objet method
- function
- global

Is this a real necessity or just a plain old bug???

Reproduce code:
---------------
<?php
function that($it){
    $this = '';
}
?>

or

<?php
    $this = '';
?>


Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-08-03 17:27 UTC] tony2001@php.net
This is a real necessity, since you can do <?php class test { function foo () { include "test.php"; }} ?> and reassign $this in test.php.
 [2006-08-04 07:48 UTC] giunta dot gaetano at sea-aeroportimilano dot it
That's just what I was afraid of (hence my asking for it).

I hoped that the engine would be smarter than that, and figure out the error 'just in time', ie. checking out the scope when finding the assignment and only flagging it as error when inside a class method...

BTW: maybe it should be marked mopre clearly in the manual?
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sun Jun 16 21:01:29 2024 UTC