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

Reply via email to