On 3 June 2013 18:22, Brandon Wamboldt <bran...@brandonwamboldt.ca> wrote:

> I think the point was that if somebody wants to extend one another class,
> maybe one of the SPL classes for example, they can't also extend the base
> class with getter/setter support so it's an incomplete solution that will
> frustrate many users.
>
>
> On Mon, Jun 3, 2013 at 2:20 PM, Richard Quadling <rquadl...@gmail.com>wrote:
>
>> On 3 June 2013 17:55, Nikita Popov <nikita....@gmail.com> wrote:
>>
>> > On Mon, Jun 3, 2013 at 6:49 PM, Richard Quadling <rquadl...@gmail.com
>> >wrote:
>> >
>> >> Hi.
>> >>
>> >> Recently the setters/getters rfc was declined.
>> >>
>> >> Other than the vote, was there any technical reasons?
>> >>
>> >> I've been sitting here and had a thought.
>> >>
>> >> Currently, if I use ...
>> >>
>> >> <?php
>> >> class some_base_class {}
>> >> ?>
>> >>
>> >> I can, sort of, think of this as ...
>> >>
>> >> <?php
>> >> class some_base_class extends \stdClass {}
>> >> ?>
>> >>
>> >> in as much as \stdClass has no constants, properties or methods. In
>> fact,
>> >> no behaviour at all.
>> >>
>> >> Now, could it be possible that I could have another PHP maintained base
>> >> class or interface that DID support setters/getters?
>> >>
>> >> So, I would have to make the decision at develop time ...
>> >>
>> >> <?php
>> >> class some_base_class extends \stdClassThatHasSetterGetterSupport {}
>> >> ?>
>> >>
>> >> sort of thing.
>> >>
>> >> So, for classes NOT extending \stdClassThatHasSetterGetterSupport, the
>> >> variable/property handling to be used is the original style.
>> >>
>> >> But for those base classes that do extend from
>> >> \stdClassThatHasSetterGetterSupport, then these would have property
>> >> support.
>> >>
>> >>
>> >> Is this even possible/feasible?
>> >>
>> >> Whilst the vote went against the initial rfc, I'm happy to accept that
>> >> (though I wish it had passed as I like the black boxing and the
>> semantic
>> >> cleanliness it would provide - IMHO).
>> >>
>> >>
>> >> To me, if the internals operated as ...
>> >>
>> >> <?php
>> >> class \stdClassThatHasSetterGetterSupport extends \stdClass {}
>> >> ?>
>> >>
>> >> add if that was enough to enable setters/getters, then COULD this be a
>> way
>> >> forward for PHP supporting new functionality without breaking base
>> >> functionality?
>> >>
>> >> In essence, turning PHP's internals into a sort of OOP framework.
>> >>
>> >> Regards,
>> >>
>> >> Richard.
>> >>
>> >
>> > PHP does not support multiple inheritance. So no, this doesn't solve
>> > really the issue.
>> >
>> > Nikita
>> >
>>
>>
>> I'm not talking about multiple inheritance, but of extension.
>>
>> A new internal PHP base class which internally extends from stdClass, but
>> is a class that provides additional functionality, specifically
>> setter/getter logic.
>>
>> So, from userland, I can not extend and get the current stdClass, or I can
>> choose \stdClassThatHasSetterGetterSupport and get that.
>>
>> And if I so wish, I can implement
>> SomeOtherPHPSuppliedIterfaceLikeIteratorOrWhatever.
>>
>> Richard.
>>
>
Ah. DOH!

Would having an interface that swapped the default property accessor logic
be any better?

So, I could say ...

<?php
class myBase implements \PHPMaintainedSetterGetterLogic {}
?>

Hmmm...

I know it is still not perfect.

Shame.

I really would have liked setter/getter.


-- 
Richard Quadling
Twitter : @RQuadling
EE : http://e-e.com/M_248814.html
Zend : http://bit.ly/9O8vFY

Reply via email to