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.


Reagards,

Eloy Bote.

Reply via email to