Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:9555 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 47047 invoked by uid 1010); 25 Apr 2004 17:24:53 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 46997 invoked from network); 25 Apr 2004 17:24:53 -0000 Received: from unknown (HELO moutng.kundenserver.de) (212.227.126.183) by pb1.pair.com with SMTP; 25 Apr 2004 17:24:53 -0000 Received: from [212.227.126.161] (helo=mrelayng.kundenserver.de) by moutng.kundenserver.de with esmtp (Exim 3.35 #1) id 1BHnN6-0003Hv-00 for internals@lists.php.net; Sun, 25 Apr 2004 19:24:52 +0200 Received: from [80.139.2.7] (helo=[80.139.2.7]) by mrelayng.kundenserver.de with asmtp (Exim 3.35 #1) id 1BHnN6-0007G4-00 for internals@lists.php.net; Sun, 25 Apr 2004 19:24:52 +0200 To: internals@lists.php.net In-Reply-To: <408BEF30.60003@eenterphace.org> References: <408BEF30.60003@eenterphace.org> Content-Type: text/plain Message-ID: <1082913611.689.1.camel@localhost> Mime-Version: 1.0 X-Mailer: Ximian Evolution 1.4.6 Date: Sun, 25 Apr 2004 19:20:11 +0200 Content-Transfer-Encoding: 7bit X-Provags-ID: kundenserver.de abuse@kundenserver.de auth:e958292ea7b1c44e51b2b9ca0a9da460 Subject: Re: [PHP-DEV] new_object_array() From: thekid@thekid.de (Timm Friebe) On Sun, 2004-04-25 at 19:02, Julian Reich wrote: > Hi all, > > Referring to call_user_func_array() I would like to suggest a new > function: new_object_array(). > I'm working on a php5 application framework and I would like to > implement something I call an unified factory. The problem is that I > don't know how many parameters to expect. > > Here's an example how it's meant to work: > class Kernel > { > public function __call($functionName, $functionParameters) > { > $className = substr($functionName, 3); > // code omitted here ... > // check for real $className ... > return new_object_array($className, $functionParameters); > } How about: return call_user_func_array( array(new ReflectionClass($className), 'newInstance'), $functionParameters ); Untested but should work. - Timm