Oh, it's confusing text in the RFC, using the word "Interface" ... that's
meant as a placeholder for InterfaceName.

Cheers
Joe

On Tue, Apr 19, 2016 at 1:50 PM, Joe Watkins <pthre...@pthreads.org> wrote:

> Morning Dmitry,
>
>   In your example, they will do the same thing.
>
>   Anon classes don't have lexical scope, I have a patch for that, and an
> RFC, I'm just tidying it.
>
>   Even when anon classes do have lexical scope, there is value in being
> able to implement these kinds of interfaces using only a function.
>
>   The changes to the vm are restricted to a few lines, that's not
> seriously a problem, is it !?
>
>   I don't see where I extend closure with an interface ...
>
>   >     zend_do_inheritance_ex(type, zend_ce_closure, 1);
>   >     zend_class_implements(type, 1, interface);
>
> Cheers
> Joe
>
> On Tue, Apr 19, 2016 at 1:01 PM, Dmitry Stogov <dmi...@zend.com> wrote:
>
>> <?php
>> interface IFoo {
>>     public function method() : int;
>> }
>>
>> $cb1 = function () implements IFoo : int {
>>     return 42;
>> };
>>
>> $cb2 = new class implements IFoo {
>>   function method() : int {
>>     return 42;
>>  }
>> };
>> ?>
>>
>> Are $cb1 and $cb2 going to be the same (do the same)?
>> Is this just a new syntax sugar, or a really new feature?
>>
>> According to implementation, I think, you shouldn't extend "zend_closure"
>> with "interface".
>> If this is a sugar, lets implement it as a sugar (without VM changes).
>>
>> But may be I didn't understand the idea at all :)
>>
>> Thanks. Dmitry.
>>
>>
>> ________________________________________
>> From: Joe Watkins <pthre...@pthreads.org>
>> Sent: Monday, April 18, 2016 13:22
>> To: PHP internals
>> Subject: [PHP-DEV] RFC: Functional Interfaces
>>
>> Morning Internals,
>>
>>     Please review the following RFC:
>>
>>     https://wiki.php.net/rfc/functional-interfaces
>>
>>     An implementation is provided, and is testable on 3v4l.
>>
>>     Review of the implementation from those of you that do that would be
>> good :)
>>
>> Cheers
>> Joe
>>
>
>

Reply via email to