Reply to PHP5 and Classes

Your name:

Reply:


Posted by Jeff North on 07/12/06 14:09

My OOP knowledge is flaky, at best, so please be patient with me :-)

I've downloaded the FPDF class from www.fpdf.org as well as some of
the scripts that are available.

Each of these scripts use:
class mine extends FPDF {}
which is what you'd expect when extending out to a new class.

What I want/would like to do is to include multiple scripts which
extend the base class of FPDF. I've managed to daisy-chain these
classes similar to:
-------------------------------------------------------------------------
<?php
class FPDF {
function FPDF(){ echo "class FPDF<BR>";}
function setSize(){ echo "setSize_FPDF()<BR>";}
}
class B extends FPDF {
function B(){ echo "class B<BR>";}
function setSize(){ echo "setSize_B()<BR>......";parent::setSize();}
}
class C extends B {
function C(){ echo "class C<BR>";}
function setLimit(){ echo "setLimit_C()<BR>";}
}
class D extends C {
function D(){ echo "class D<BR>";}
function PrintLine(){ echo "PrintLine_D()<BR>";}
}
class me extends D {
function me(){ echo "class me<BR>";}
function setSize()
{
echo "setSize_E()<BR>&nbsp;&nbsp;&nbsp;";
//--- this only gets the class B function
parent::setSize();
}
}
//--- test code
$x = new me();
$x->FPDF();
$x->PrintLine();
$x->setSize();

/* --- output
class me
class FPDF
PrintLine_D()
setSize_E()
setSize_B()
setSize_FPDF()
*/
?>
-------------------------------------------------------------------------
Now even *I* know that OOP was never intended to be like this. Is
there a better/correct way?

In my code how would I reference the FPDF setSize() method?
FYI: the setSize is not overriding the base class, it is an internal
function to that class only.
---------------------------------------------------------------
jnorthau@yourpantsyahoo.com.au : Remove your pants to reply
---------------------------------------------------------------

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация