Re: Forbid binding methods to incompatible $this
On Wed, Mar 30, 2016 at 6:18 PM, Dmitry Stogov <[email protected]> wrote:
> Great it's not used anymore [image: 😊]
>
> I personally agree to remove this.
>
>
> Nikita, can you also investigate the need for double pointer to object in
>
>
> typedef union _zend_function *(*zend_object_get_method_t)(zend_object
> **object, zend_string *method, const zval *key);
>
>
> As I remember, it's necessary only for some SPL hack, and looks like a
> terrible design decision.
>
This is used for forwarding method calls to the the "inner" object in SPL
iterators. It's basically the internal equivalent of doing:
function __call($method, $args) {
return $this->inner->$method(...$args);
}
I don't think we can drop this feature at this point (deprecate?). We can
of course change the implementation to use a trampoline function to avoid
the zend_object** hack, but I'm not sure that would be worthwhile.
Nikita
Thread (11 messages)