On Mon, Oct 22, 2001 at 12:03:59AM -0000, Bug Database wrote: > ID: 12560 > Updated by: sniper > Reported By: [EMAIL PROTECTED] > Old Status: Open > Status: Closed > Bug Type: Class/Object related > Operating System: Solaris 2.7 > PHP Version: 4.0.6 > New Comment: > > Works for me just fine with PHP 4.1.0RC1
Great, so you've fixed it then. Well done! > > > Previous Comments: > ------------------------------------------------------------------------ > > [2001-08-03 13:51:21] [EMAIL PROTECTED] > > This bug occurred with Solaris 2.7 and a regular build of php as a standalone app. I >haven't tested on Linux yet. > > If the base class of a few levels of inheritance is in an included or required file, >then 'parent' may be incorrectly setup. Calls via 'parent' will actually call $this, >and then give incorrect and most likely disastrous behaviour. > > The following example will quickly crash due to stack overflow from infinite >recursion, whereas inlining the base class 'X' rather than including it will work as >expected. > > Incidentally, instantiating a B rather than a C will work correctly in both cases. > > File X.php: > > <?php > > class X > { > function X() { } > } > > ?> > > File crashme.php: > > <?php > > // Commenting out include and uncommenting class X > // below will work, whilst including X will crash > > include_once 'X.php'; > > > /* > class X > { > function X() { } > } > */ > > class A extends X > { > function A() { $this->X(); } > > function crash_me() { } > } > > class B extends A > { > function B() { $this->A(); } > > function crash_me() { parent::crash_me(); } > } > > class C extends B > { > function C() { $this->B(); } > } > > $r = new C(); > $r->crash_me(); > > ?> > > > > > ------------------------------------------------------------------------ > > > > ATTENTION! Do NOT reply to this email! > To reply, use the web interface found at http://bugs.php.net/?id=12560&edit=2 -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]