Hi. I have a scenario where I would _like_ to have multiple constructors for a class. Each constructor has a greater number of parameters than the previous one. e.g. <?php class myClass { __construct(string $Key) // use key to get the complex details. __construct(string $Part1, string $Part2, string $Part3) // Alternative route to the complex details. __construct(array $Complex) // All the details } Essentially, SimpleKey is a key to a set of predefined rules. Part1, 2 and 3 are the main details and well documented defaults for the rest of the rules. Complex is all the rules. Each constructor will end up with all the parts being known ($Key, $Part1, $Part2, $Part3, $Complex). But, PHP doesn't support multiple constructors. Initially I thought about this ... __construct($Key_Part1_Complex, $Part2=Null, $Part3=Null) But then documenting the first param as being 1 of three different meanings is pretty much a no go. So I'm looking for a clean and easily understood way to provide this. I won't be the only user of the code and not everyone has the same knowledge level, hence a mechanism that is easily documentable. I think I may need a factory with multiple methods (FactoryKey, FactoryPart1To3, FactoryComplex). Make the factory a static/singleton. All these methods eventually call the real class with the complex rule. Is that obvious enough? Regards, Richard. -- ----- Richard Quadling "Standing on the shoulders of some very clever giants!" EE : http://www.experts-exchange.com/M_248814.html EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731 ZOPA : http://uk.zopa.com/member/RQuadling -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php