Why perpetuate the problem though?  I'd tend to think 3 would be the best 
solution.

-----Original Message-----
From: Johannes Schlüter [mailto:johan...@schlueters.de] 
Sent: Monday, December 12, 2011 6:52 PM
To: Clint M Priest
Cc: Pierre Joye; internals@lists.php.net
Subject: RE: [PHP-DEV] Accessors v2 Patch

On Mon, 2011-12-12 at 01:01 +0000, Clint M Priest wrote:
> To be complete I should probably add something to the reflection system as 
> well.  At present the getters/setters would show up as functions.
> 
> What would be preferable?
> 1) Show up as regular functions and let users fend for themselves?
> 2) Hide from getMethods() and:
>   2.1) Provide getAccessors() - Probably returning a new 
> ReflectionPropertyAccessor class?
>   2.2) Provide getGetters(), getSetters()
> 3) Modify ReflectionProperty to include hasGetter() and hasSetter()
> 
> Comments?

Reflection in PHP typically is leaking the implementation details typically 
quite a lot instead of abstracting things away (interfaces and Traits are 
ReflectionClass instances etc.)

I didn't look at the implementation but if these accessors are implemented as 
methods (especially if it can be called just like one) I would go for approach 
1) and probably mark with a flag. For everything else we'd probably have to 
clean-u reflection to leak less details to make sense.

johannes

> -----Original Message-----
> From: Pierre Joye [mailto:pierre....@gmail.com]
> Sent: Sunday, December 11, 2011 6:47 PM
> To: Clint M Priest
> Cc: internals@lists.php.net
> Subject: Re: [PHP-DEV] Accessors v2 Patch
> 
> oh right, I missed them. Yes, so it is covered as well :)
> 
> On Mon, Dec 12, 2011 at 1:42 AM, Clint M Priest <cpri...@zerocue.com> wrote:
> > There are already two tests against private read and private write, should 
> > I add two for protected as well?
> 
> Cheers,
> --
> Pierre
> 
> @pierrejoye | http://blog.thepimp.net | http://www.libgd.org
> 



--
PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: 
http://www.php.net/unsub.php

Reply via email to