it looks like your solution *is* elegant... i tried
out your code, becuase i was astonished that such a
simple thing allegedly wasn't working... and it
did work.
below is the exact code i had in my text editor,
and it executed perfectly.
when i called $c->make(), it printed "A:: MAKE".
..am i misunderstanding your problem?
<?
class a {
function make() {
// some code
print "A:: MAKE";
}
}
class b extends a {
function make() {
// some code
parent::make();
}
}
class c extends b {
function make() {
// some code
parent::make();
}
}
$c = new c();
$c->make();
?>
> -----Original Message-----
> From: Lenar Lõhmus [mailto:[EMAIL PROTECTED]]
> Sent: 20 June 2001 09:01
> To: [EMAIL PROTECTED]
> Subject: [PHP] parent and grandparent member functions
>
>
> Hello,
>
> I hit a wall. No offense, but this OO stuff in PHP is somehat weird, but
> skip to the problem.
> I have for example three classes:
>
> class a {
> function make() {
> // some code
> }
> }
>
> class b extends a {
> function make() {
> // some code
> parent::make();
> }
> }
>
> class c extends b {
> function make() {
> // some code
> parent::make();
> }
> }
>
> now the class 'c' is instantiated and the member function 'make' is called.
> All works up to the point where 'b'::make calls parent::make().
> It seems to call itself :(. I can understand this is logical behaviour since
> it's still an instance of class c,
> so parent:: is still b::, but how should I call that grandparent's make()???
> This doesn't seem like a good OOP.
> For example delphi's 'inherited' works relative to the class it's used in
> and it is way more useful than php's way.
>
> is there any elegant soultion(s) to my problem?
>
> Lenar Lõhmus
--
PHP General 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]