Try this:
class base_object() { function base_object() { echo "I'm the base"; }
function base_test() { echo "I'm the base test"; } }
class extended_object() extends base_object { function extended_object() { echo "I'm the extend object"; $this->base_object(); }
function extended_test() { echo "I'm the extended test"; } }
Barring any syntax errors (I wrote this out of my head), this should show you that the base object is being properly constructed.
On 19 Nov 2004, at 09:02, Gerald Wharney wrote:
I'm trying the example at:
http://www.php.net/manual/en/language.oop.constructor.php
<?php
class A { function A() { echo "I am the constructor of A.<br />\n"; } function B() { echo "I am a regular function named B in class A.<br />\n"; echo "I am not a constructor in A.<br />\n"; } }
class B extends A { function C() { echo "I am a regular function.<br />\n"; } } // This will call B() as a constructor. $b = new B;
?>
Running this on 4.3.9 both as an apache module and from CLI I get:
I am a regular function named B in class A. I am not a constructor in A.
This is contrary to what the manual says:
"This is fixed in PHP 4 by modifying the rule to: 'A constructor is a function of the same name as the class it is being defined in.'. Thus in PHP 4, the class B would have no constructor function of its own and the constructor of the base class would have been called, printing 'I am the constructor of A.<br />'."
Is this an error in the manual? Or a bug in php 4.3.9? Or just me being stupid?
-- G W (no bush)
___________________________________________________________
ALL-NEW Yahoo! Messenger - all new features - even more fun! http://uk.messenger.yahoo.com
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php