Posted by David Hall on 01/19/06 20:14
Henrik Gemal wrote:
> In a image gallery I have to class'es:
>
> class GPicFilePicture extends GPicFileType
> class GPicFileMovie extends GPicFileType
>
> both of them are based on:
>
> abstract class GPicFileType
>
> In my code I need to create a new GPicFilePicture. To avoid duplicated
> code I've create a wrapper class:
>
> class GPicFile
>
> that does something like this:
>
> if (fileextension == "jpg")
> return new GPicFilePicture();
> else
> return new GPicFileMovie();
>
> so my PHP code looks like:
> $file = new GPicFile($filename);
>
> getFileDate() is implemented in both GPicFilePicture and GPicFileMovie.
>
> Now I try to do:
> $file->getFileDate();
>
> I get an error saying:
> Call to undefined method GPicFile::getFileDate()
>
> Where am I going wrong?
My way for doing this summed up by the Factory Pattern described on this
page: http://www.phptr.com/articles/article.asp?p=346958&seqNum=4
Navigation:
[Reply to this message]
|