On Tue, Feb 24, 2015 at 5:19 PM, Philip Sturgeon <pjsturg...@gmail.com>
wrote:

> On Tue, Feb 24, 2015 at 9:10 AM, Dmitry Stogov <dmi...@zend.com> wrote:
> > I think the proposal is a bit incomplete.
> > It's possible to instantiate an anonymous class, but currently it's not
> > possible to do with them anything else (assign to variable, pass to
> > function, etc). Something similar to Closure objects should be
> introduced.
> >
> > Thanks. Dmitry.
>
> 1. You can absolutely assign the instantiated classes to variables.
>
> Check out this test in the patch:
>
> https://github.com/krakjoe/php-src/compare/anon#diff-25e330fb5a98810de178a5b798102d01R1
>
>
In tests you assign instantiated objects.

$a = new class {...};
$b = new class {...};

I'm talking about classes as first class objects.

$c = class {...};
$a = new $c;
$b = new $c;



> 2. Why do you say they cannot be passed to a function? I can add a
> test if you can give me an example of what you're suggesting doesn't
> work.
>
> 3. Not sure why we'd need a Closure-alike object. Anonymous classes
> are just a class, and classes have all the types and hinting
> functionality of regular classes. You don't need to implement a class
> to let people know its a class.
>
> Maybe you could expand on that a bit? :)
>

I tried it in the example above.

Also, classes may be useful without objects at all (just static properties
and methods).

$c = class {...};
$c::static_foo();

Thanks. Dmitry.

Reply via email to