Reply to Re: conditional "implements"

Your name:

Reply:


Posted by ZeldorBlat on 06/28/07 20:08

On Jun 28, 3:36 pm, Christian Welzel <gaw...@camlann.de> wrote:
> Hi there!
>
> Currently i'm thinking about how to solve this problem:
>
> if (t3lib_div::int_from_ver(phpversion())<5000000) {
> // php4
> class tx_lib_object extends tx_lib_selfAwareness {...}
> //} else {
>
> // php5
> class tx_lib_object extends tx_lib_selfAwareness implements ArrayAccess, Iterator {...}
> //
>
> }
>
> The question is now how to make this conditional "implements" in php?
> Of cause i do not want to copy the code for both php versions and then
> switch between the whole classes.
>
> --
> MfG, Christian Welzel aka Gawain@Regenbogen
>
> GPG-Key: http://www.camlann.de/key.asc
> Fingerprint: 4F50 19BF 3346 36A6 CFA9 DBDC C268 6D24 70A1 AD15

Create two different classes (the PHP5 version which extends the PHP4
version and implements the interfaces) then instantiate the proper one
using some sort of factory method. Other than the fact that the PHP5
version implements your interfaces, the classes will behave in exactly
the same way. For example:

class tx_lib_object extends tx_lib_selfAwareness {
//All the tX_lib_object methods

//The factory:
public static factory() {
if(t3lib_div::int_from_ver(phpversion())<5000000)
return new tx_lib_object();
else
return new tx_lib_object_php5();
}
}

if(t3lib_div::int_from_ver(phpversion())>=5000000) {
class tx_lib_object_php5 extends tx_lib_object implements
ArrayAccess, Iterator {
//all the methods to implement ArrayAccess and Iterator
}
}

[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

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