#33314 [Com]: Child class variable change not propogated during function call

From: Date: Thu, 14 Dec 2006 07:55:18 +0000
Subject: #33314 [Com]: Child class variable change not propogated during function call
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-106346@lists.php.net to get a copy of this message
ID: 33314 Comment by: andrew at azarov dot com Reported By: gregory dot szorc at case dot edu Status: No Feedback Bug Type: Class/Object related Operating System: Linux (multiple) PHP Version: 5CVS-2005-06-12 New Comment: class.php: <? class Test { var $Dynamic = Array(); function Start() { $Dynamic = Array("test"=>"hope") $this->$Dynamic = $Dynamic; } function GetArray() { return $this->Dynamic; } } ?> test.php: <? require class.php; $file = new Test(); $file->Start(); print_r($file->Dynamic); // Will result in 'Array()' $s = $file->GetArray(); // Will result in 'Fatal error: Cannot access empty property' print_r($s) ?> Previous Comments: ------------------------------------------------------------------------ [2005-06-23 01:00:04] php-bugs at lists dot php dot net No feedback was provided for this bug for over a week, so it is being suspended automatically. If you are able to provide the information that was originally requested, please do so and change the status of the bug back to "Open". ------------------------------------------------------------------------ [2005-06-15 18:14:28] tony2001@php.net Gregory, if you provide an example (even relatively big) it would be MUCH easier for us to understand what are you talking about (and to fix it too). Please cook a script (okay, let it be BIG script), put it somewhere on the Net (no SVN and other exotic things please, just a plain HTTP) and give us the link. Thanks in advance. ------------------------------------------------------------------------ [2005-06-15 16:11:59] gregory dot szorc at case dot edu I have tried to recreate the problem by recreating the basic class hierarchy that exists in my project. Unfortunately, I have been unable to duplicate. I would gladly try and debug things myself, but I have no knowledge regarding debugging core PHP. The problem occurs in BaseLayout.php. It is reproducable through tests/iCal_create.php. The test program doesn't even involve a lot of the classes. Considering that the problem is an object reference being lost/ignored as it is passed back to a function, I would think this would be a relatively easy problem to debug. Who knows. If someone could provide instructions for how to debug this problem, I would attempt to do it myself. ------------------------------------------------------------------------ [2005-06-15 15:30:03] sniper@php.net We _REALLY_ need a short reproducing script. We don't have time to go through hundreds of lines of code.. ------------------------------------------------------------------------ [2005-06-14 16:58:33] gregory dot szorc at case dot edu As mentioned in the orignal post, I have not been able to reproduce the problem outside of the project from which I am working. Believe me, I tried. Read http://zorro.case.edu/ viewcvs/php_classes/File_iCal/trunk/File/iCal/ BaseComponent.php?rev=119&view=markup around line 234 for a comment and the actual code that causes the bug to trigger. Given the way that the problem can be "solved," there is obviously a bug with the class support. Unfortunately, I can't reproduce it outside of the PEAR project on which I am working. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/33314 -- Edit this bug report at http://bugs.php.net/?id=33314&edit=1

« previous php.bugs (#106346) next »