ID: 33314 User updated by: gregory dot szorc at case dot edu Reported By: gregory dot szorc at case dot edu -Status: Feedback +Status: Open Bug Type: Class/Object related Operating System: Linux (multiple) PHP Version: 5CVS-2005-06-12 New Comment:
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. Previous Comments: ------------------------------------------------------------------------ [2005-06-14 16:47:08] [EMAIL PROTECTED] Thank you for this bug report. To properly diagnose the problem, we need a short but complete example script to be able to reproduce this bug ourselves. A proper reproducing script starts with <?php and ends with ?>, is max. 10-20 lines long and does not require any external resources such as databases, etc. If possible, make the script source available online and provide an URL to it here. Try to avoid embedding huge scripts into the report. ------------------------------------------------------------------------ [2005-06-14 16:07:21] gregory dot szorc at case dot edu I have compiled the latest 5.1 CVS snapshot from June 14, 2005 and the problem persists. ------------------------------------------------------------------------ [2005-06-12 02:10:05] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip ------------------------------------------------------------------------ [2005-06-12 00:01:26] gregory dot szorc at case dot edu Description: ------------ A method is called on an instance of a class which is derived from a chain of derived classes, some abstract. The method is defined in the base class and this method alters a variable also defined in the base class. When the method is called, the object is unchanged. During debugging, the variable is actually changed by the base method. However, this change of variable is not propogated down into the derived classes. When the base method is changed so that it changes another variable in the base class, the changes are reflected after the method is called. In summary, a function call does not produce an obvious change of variable. When the function is changed so it alters another variable on top of the original, both changes are seen after the function call. Reproduce code: --------------- I have been unable to reproduce this code outside of the project in which I discovered the bug. To obtain the code, use subversion: `svn co -r 119 http://zorro.case.edu/svn/repos/php_classes/File_iCal/trunk/ iCal` Use might need to add the created directory to the PHP include path for the code to run. Read File/iCal/BaseComponent.php at line 234 for info on how to reproduce. Expected result: ---------------- A variable gets changed via function call. Actual result: -------------- The variable appears left unchanged unless the function definition itself is changed so that the object is further modified. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=33314&edit=1