2009/11/19 Mathieu Suen <mathieu.s...@easyflirt.com> > Eloy Bote Falcon a écrit : > > 2009/11/18 Mathieu Suen <mathieu.s...@easyflirt.com> >> >> Etienne Kneuss a écrit : >>> >>> Hello, >>> >>>> On Wed, Nov 18, 2009 at 5:54 PM, Mathieu Suen < >>>> mathieu.s...@easyflirt.com >>>> >>>>> wrote: >>>>> >>>> Robert Lemke a écrit : >>>> >>>>> Hi folks, >>>>> >>>>> after discussing the idea with various PHP developers I now felt safe >>>>>> enough that it's not a completely stupid idea to post an RFC for it. >>>>>> The >>>>>> idea is to add support the registration of custom factories which are >>>>>> responsible for instantiating certain classes. >>>>>> >>>>>> Here is the first draft of my RFC: >>>>>> http://wiki.php.net/rfc/customfactories >>>>>> >>>>>> I suggest that we first discuss the implications and usefulness of >>>>>> this >>>>>> feature. In a second step I'd need to find some skilled internals >>>>>> wizard >>>>>> who >>>>>> can implement it, because not being a C developer myself, all I can >>>>>> offer is >>>>>> making suggestions and fine coffee. >>>>>> >>>>>> Looking forward to hearing your comments! >>>>>> Robert >>>>>> >>>>>> >>>>>> An other way maybe to allow this: >>>>>> >>>>> $email = new $emailClassName(); >>>>> >>>>> >>>>> >>>>> This is already allowed. >>>>> >>>> Best, >>>> >>>> >>>> Right!! >>> I get confused with: >>> $classNamme::getInstance(); >>> >>> So you can easily inject dependency: >>> >>> class Foo { >>> >>> protected $emailer; >>> >>> public function __construct($emailClass) { >>> $this->emailer= $emailClass; >>> } >>> >>> public function bar() { >>> // $email = new $this->emailer(); Of course not allowed >>> $emailer = $this->emailer; >>> $email = $emailer(); >>> // ... >>> >>> } >>> } >>> >>> -- Mathieu Suen >>> >>> >> Well, $email = new $this->emailer(); it's allowed too, and behaves as >> expected since FOO::emailer it's a string. >> > > I have tested in php 5.2 is that a feature added in 5.3? > > >> >> Reagards, >> >> Eloy Bote. >> >> > > -- > > > • *Mathieu Suen* | It Team | www.easyflirt.com > • mathieu [dot] suen [at] easyflirt [dot] com > • EasyFlirt - Park Nord, Les Pléiades, 74370 - Metz-Tessy - FRANCE > > > • Pensez à l'environnement, n'imprimez cet e-mail qu'en cas de réelle > nécessité > > >
Yes it is. Returning to the topic, I don't think that these kind of features should be implemented in the PHP core...let's focus in other interesting features like traits; a new wide range of possibilities will open and the (not so) new programming paradigms like AOP or SOP could be powerfully and easily implemented by the end users. Regards, Eloy Bote.