| 
 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] 
 |