Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Interfaces

2012-10-16 Thread David Muir
On 16/10/12 22:34, Clint Priest wrote: -Original Message- From: Stas Malyshev [mailto:smalys...@sugarcrm.com] Sent: Tuesday, October 16, 2012 6:06 AM To: Clint Priest Cc: Nikita Popov (nikita@gmail.com); internals@lists.php.net Subject: Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessor

RE: [PHP-DEV] Alternatives to mailing list?

2012-10-16 Thread Clint Priest
I was thinking more along the lines of a collaborative wiki with inline-threaded comments... > -Original Message- > From: Jan Ehrhardt [mailto:php...@ehrhardt.nl] > Sent: Tuesday, October 16, 2012 8:00 PM > To: internals@lists.php.net > Subject: Re: [PHP-DEV] Alternatives to mailing list?

Re: [PHP-DEV] Alternatives to mailing list?

2012-10-16 Thread Jan Ehrhardt
Yahav Gindi Bar in php.internals (Wed, 17 Oct 2012 03:18:12 +0300): >I may sound old fashioned, but what about a forum? A forum is new fashioned. I am reading and writing this on news.php.net. Webinterface: http://news.php.net/php.internals But you'd better use a proper newsreader. Some browsers

Re: [PHP-DEV] Alternatives to mailing list?

2012-10-16 Thread Yahav Gindi Bar
Personally, I like IP.Board. Put that aside, I thought about PHPBB or another open-source software :) On Wed, Oct 17, 2012 at 3:22 AM, J. Adams wrote: > I agree. VBulletin rules. It also permits voluntary participation rather > than getting every email for ever conversation. Should you prefer to

Re: [PHP-DEV] Alternatives to mailing list?

2012-10-16 Thread J. Adams
I agree. VBulletin rules. It also permits voluntary participation rather than getting every email for ever conversation. Should you prefer to get everything via email, I believe it is possible to sync VBulletin with a mailing list. On 10/16/2012 5:18 PM, Yahav Gindi Bar wrote: I may sound ol

Re: [PHP-DEV] Alternatives to mailing list?

2012-10-16 Thread Yahav Gindi Bar
I may sound old fashioned, but what about a forum? On Wed, Oct 17, 2012 at 3:05 AM, Clint Priest wrote: > Is it just me or has this Property Accessors chain of emails been > impossible to make heads or tails of? People replying within replies > within replies, quoting partial emails, cross-post

[PHP-DEV] Alternatives to mailing list?

2012-10-16 Thread Clint Priest
Is it just me or has this Property Accessors chain of emails been impossible to make heads or tails of? People replying within replies within replies, quoting partial emails, cross-posting and all sorts of chaos. Would anyone be willing to entertain an alternative "communication method" with s

RE: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Clint Priest
Jesus, this is such a CF. Can I not write understandable English? read-only and write-only ENFORCE UPON SUBCLASSES that no setter or getter (respectively) can be defined. That's all they do. There is no currently proposed solution that meets this need. This "NEED" was pulled from the origina

RE: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Clint Priest
Stas, go back a few "revisions" of the RFC and you'll see there used to be automatically implemented accessors which were voted out. The current RFC does not reflect the current "fork" of the code, it did before I modified it with the consensus from around 10/12 before Nikita brought up some mo

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Interfaces

2012-10-16 Thread Clint Priest
My choice of words were misleading/incorrect. If you are programming to an interface then the interface dictates what *will* work, if you attempt to use an interface to do something that the interface has not declared is supported then it may work or it may fail. On Oct 16, 2012, at 7:43 AM, "

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Typehints / Accessor Syntax

2012-10-16 Thread Levi Morrison
On Tue, Oct 16, 2012 at 10:31 AM, Amaury Bouchard wrote: > 2012/10/16 Rasmus Lerdorf >> >> The rule in PHP for any sort of type hinting is that it is only done for >> non-coercable types. In cases where there is simply no way to recover >> from passing the wrong type, it is good to catch it as ea

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Typehints / Accessor Syntax

2012-10-16 Thread Amaury Bouchard
2012/10/16 Rasmus Lerdorf > The rule in PHP for any sort of type hinting is that it is only done for > non-coercable types. In cases where there is simply no way to recover > from passing the wrong type, it is good to catch it as early as > possible. Extending this to also cover scalar coercable

[PHP-DEV] Lester's Comment (was Property Accessors v1.1)

2012-10-16 Thread Anthony Ferrara
Lester, But a vote NOT to include it should still be one of the options! > No it should not. Comments like this are not helpful, and are quite destructive. Please stop running that circle. As far as the particular implementation goes, I'd vote against it right now. Not because it's bad, but bec

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Typehints / Accessor Syntax

2012-10-16 Thread Rasmus Lerdorf
On 10/16/2012 02:51 AM, Amaury Bouchard wrote: > 2012/10/16 Stas Malyshev > public DateTime $date; >>> >>> This is *real* progress, even if under the hood all it does is wrap >> >> I think it's a movement in wrong direction. Again, it is an attempt to >> make PHP a strongly typed language, w

Re: [PHP-DEV] [RFC] Propety Accessors v1.1

2012-10-16 Thread Lester Caine
Stas Malyshev wrote: >What remains on your TODO list for this functionality? >When are you planning to run an RFC vote on this? > >I think this would be a valuable addition to PHP 5.5. I think we shouldn't rush with votes on this until all fine details aren't hashed out. This is a*huge* feature

Re: [PHP-DEV] [RFC] Propety Accessors v1.1

2012-10-16 Thread Pierre Joye
On Oct 16, 2012 11:27 AM, "Stas Malyshev" wrote: > > Hi! > > > What remains on your TODO list for this functionality? > > When are you planning to run an RFC vote on this? > > > > I think this would be a valuable addition to PHP 5.5. > > I think we shouldn't rush with votes on this until all fine

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Stas Malyshev
Hi! > I very much disagree, engine details should not be visible to users. > It is irrelevant to them and only serves to confuse. It's not engine detail. We're not talking about exposing C pointers or zend_op values. We're talking about implementing methods that have special meaning. They are sti

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Amaury Bouchard
2012/10/16 Clint Priest > In this regard, I have yet to see any proposal that is as clear or concise > as public read-only $abc. What is the big problem with adding read-only > and write-only keywords? Once they are in the language they could be > expanded to plain properties. public:const $a

RE: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Clint Priest
Gabeezus, I have to get to work Stas! ;) > > This is the way it is, though Nikita strongly disagrees that they > > should be "callable, visible" methods on the object and I agree with > > Nikita on this issue, I never did like the idea that __getHours() and > > I think PHP engine has enough compl

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Interfaces

2012-10-16 Thread Stas Malyshev
Hi! > If you have a public property $a which internally can only deal with > it being set to 2 or 3 and someone external to the class sets it to > 4, your class either has to check that it's 2 or 3 and deal with the > fact that it is now 4 or have indeterminate results when it is set to > 4. Most

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Jazzer Dane
Yes, I'm aware - I thought of the clash with Nikita's proposal while writing mine, but decided not to bring it up. If we were to go with my proposed syntax, then one of two things would have to happen. 1) Don't auto implement get/set. *On a similar note, what's the difference between using a proper

[PHP-DEV] static analysis and early warning systems

2012-10-16 Thread Rasmus Schultz
Since there's a heavy debate on the list about strong typing right now, I just want to briefly share my point of view. PHP is not and won't be a strongly typed language. What it can be (and is on the way to be, with Clint's work) is a language that supports type-checking. Not the same as strongly

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Stas Malyshev
Hi! > This is the way it is, though Nikita strongly disagrees that they > should be "callable, visible" methods on the object and I agree with > Nikita on this issue, I never did like the idea that __getHours() and I think PHP engine has enough complexity and we do not need to add more unwarrante

RE: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Clint Priest
This would conflict with the concept of auto-implementation, which if we went with Nikita’s suggestion, would make an undefined body setter actually set the property it shadows. For example class a { public $prop { get() { … }

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Jazzer Dane
private final get/set() {} is indeed not a read/write only functionality. I really would like to keep new keywords out of whatever syntax is implemented, but I think the latest proposal can and should be improved upon. I've been thinking about this quite a bit. To reiterate the initial problem, al

RE: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Interfaces

2012-10-16 Thread Clint Priest
> -Original Message- > From: Stas Malyshev [mailto:smalys...@sugarcrm.com] > Sent: Tuesday, October 16, 2012 6:06 AM > To: Clint Priest > Cc: Nikita Popov (nikita@gmail.com); internals@lists.php.net > Subject: Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Interfaces > > Hi!

RE: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Clint Priest
Hey Stas, a bunch of this has already been covered but I will attempt to answer each of these as is my current understanding of "the hives" decision... :P > 1. Accessors IMO should be regular PHP methods that PHP generates with two > additional things: > a. Their name is generated by PHP > b. Th

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Jazzer Dane
Excuse my late-night-influenced terminology, the word "empty" is much more suitable than "does not have". And this "solution" really is more of a hack or work-around than a solution. I do think that there is a better way to go about implementing read/write-only, but nothing has come to mind as of

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Interfaces

2012-10-16 Thread Stas Malyshev
Hi! > that supports properties in interfaces. Again, not exhaustive either > but there is one language that does support accessors in interfaces > and that's C#. So what C# does when mixing regular properties and accessorized properties? > Think about it, if you allowed an outside caller of you

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Stas Malyshev
Hi! > I apologize for my confusing terminology - let me elaborate. There are > no special syntaxes. The below code should help clear things up a bit: > > class MyClass { > private $otherProperty; > public $property { > get() {}; // Does not "have a body", as there is no co

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Typehints / Accessor Syntax

2012-10-16 Thread Stas Malyshev
Hi! > If the first could be useful, the second could be useful too. Or you are > saying that parameters type hinting was a bad idea? Given how it is understood now - as a first step to make PHP a strongly typed language - yes, I'm starting to think it was. If it was understood as it was intended

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Jazzer Dane
I apologize for my confusing terminology - let me elaborate. There are no special syntaxes. The below code should help clear things up a bit: class MyClass { > private $otherProperty; > public $property { > get() {}; // Does not "have a body", as there is no code between the > curly braces

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Stas Malyshev
Hi! > Stas, the proposed "solution" thus far is to make the getter or setter > final and private and not have a body. This would naturally throw an > exception if it was accessed from anywhere but the class it was defined. > The class it was defined in has to remember that it is virtually a > read

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Typehints / Accessor Syntax

2012-10-16 Thread Amaury Bouchard
2012/10/16 Stas Malyshev > Also, the fact is that other dynamic languages do not > have strong typing. It may be they just aren't smart enough to recognize > everybody needs it - or there may be a reason why it doesn't happen. I > think there is a reason > > > Doing the same for object properties

RE: [PHP-DEV] [RFC] Propety Accessors v1.1

2012-10-16 Thread Clint Priest
At this point, the last two weeks of deliberations on this RFC have pushed its release back quite a long ways. I don't know when 5.5 is due out but if it's within the next 6 months (and I'm the only one working on the code) then it will probably not be happening. Due to the dramatic changes th

RE: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Typehints / Accessor Syntax

2012-10-16 Thread Clint Priest
I would have to agree with Stas, the type hints that are presently implemented are failed code waiting to be found. Good luck if you're not monitoring your error logs. I can agree with the concept of wanting to avoid having to do all kinds of simple verification of input parameters but thankfu

RE: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Interfaces

2012-10-16 Thread Clint Priest
I haven't done an exhaustive analysis of every language out there that supports interfaces but to my knowledge there isn't a single one that supports properties in interfaces. Again, not exhaustive either but there is one language that does support accessors in interfaces and that's C#. When I

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Jazzer Dane
Stas, the proposed "solution" thus far is to make the getter or setter final and private and not have a body. This would naturally throw an exception if it was accessed from anywhere but the class it was defined. The class it was defined in has to remember that it is virtually a read/write only acc

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Stas Malyshev
Hi! > In regards to #11, yes, you'd just write {}. I imagine you could also This doesn't work for the same class (and for traits which put things in the context of the same class) - it would not behave as "no setter", it would behave as "there's a setter doing nothing". Is this the proposed solut

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Jazzer Dane
In regards to #11, yes, you'd just write {}. I imagine you could also just throw an exception. Maybe an exception could be thrown automatically if there is no code between the braces. Though this doesn't really directly relate to providing the ability to disable get/set in an accessor. The only cl

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Typehints / Accessor Syntax

2012-10-16 Thread Stas Malyshev
Hi! > Not necessarily strongly typed. (sorry to land on this topic afterwards) > As I see PHP, it's a language that can be used as an informal scripting > language, but also as a rock-solid modern tool. I have no idea what "rock-solid modern tool" means, though PHP is trivially a modern tool by b

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Typehints / Accessor Syntax

2012-10-16 Thread Stas Malyshev
Hi! > Not necessarily strongly typed. (sorry to land on this topic afterwards) > As I see PHP, it's a language that can be used as an informal scripting > language, but also as a rock-solid modern tool. I have no idea what "rock-solid modern tool" means, though PHP is trivially a modern tool by b

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Typehints / Accessor Syntax

2012-10-16 Thread Amaury Bouchard
2012/10/16 Stas Malyshev > >> public DateTime $date; > > > > This is *real* progress, even if under the hood all it does is wrap > > I think it's a movement in wrong direction. Again, it is an attempt to > make PHP a strongly typed language, which would not work well in a > dynamic language like

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Stas Malyshev
Hi! > #5: From what I understand, an extending class can not override an > accessor with a non-accessor. This should be in the RFC then - along with what exactly happens. Note that this will represent a sort of BC break in terms that you could have two properties $a before, but if you change impl

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Jazzer Dane
#2: I agree with you here - this is problematic. isset/unset accessors that invoke the isset/unset function should actually invoke the function rather than being compared to null, as that isn't the same as isset. #5: From what I understand, an extending class can not override an accessor with a no

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Interfaces

2012-10-16 Thread Stas Malyshev
Hi! > I think that accessors should be allowed with interfaces because an > interface really is a specification on how to communicate and while > accessors do pass messages, properties do not. "Communicate" is a loaded term. Property access is communication too, but properties aren't defined in t

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Interfaces

2012-10-16 Thread Amaury Bouchard
This discussion is opened in the dedicated thread. I used my proposal as an example to illustrate my point of view, not to pollute this thread. 2012/10/16 Jazzer Dane > I prefer the current syntax to your proposal because: > > 1) It is not at all obvious which side is which. Example: > *prot

Re: [PHP-DEV] [RFC] Propety Accessors v1.1

2012-10-16 Thread Stas Malyshev
Hi! > What remains on your TODO list for this functionality? > When are you planning to run an RFC vote on this? > > I think this would be a valuable addition to PHP 5.5. I think we shouldn't rush with votes on this until all fine details aren't hashed out. This is a *huge* feature - one of the

Re: [PHP-DEV] [RFC] Propety Accessors v1.1

2012-10-16 Thread Stas Malyshev
Hi! > Does the PHP programmer need the "truth of underlying language > implementation details" or do they need the "truth" of what they've > defined? If the method exists, he needs to know it exists. For the rest, see below. > I would argue that if the PHP programmer has defined a property > acc

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2

2012-10-16 Thread Stas Malyshev
Hi! > https://wiki.php.net/rfc/propertygetsetsyntax-as-implemented My feedback on the RFC: 1. Accessors IMO should be regular PHP methods that PHP generates with two additional things: a. Their name is generated by PHP b. Their argument set is defined by the accessor pattern (i.e. same thing as

Re: [PHP-DEV] [RFC] Propety Accessors v1.1

2012-10-16 Thread Stas Malyshev
Hi! > The RFC states > ReflectionClass::getMethods() will not return accessor functions > (hides implementation detail). > Up until now reflection is leaky and is telling the truth. We should > either keep that or completely clean up reflection. (mind also > get_class_methods() and

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Typehints / Accessor Syntax

2012-10-16 Thread Stas Malyshev
Hi! >> public DateTime $date; > > This is *real* progress, even if under the hood all it does is wrap I think it's a movement in wrong direction. Again, it is an attempt to make PHP a strongly typed language, which would not work well in a dynamic language like PHP, for reasons that were amply e

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Interfaces

2012-10-16 Thread Jazzer Dane
I prefer the current syntax to your proposal because: 1) It is not at all obvious which side is which. Example: *protected:private *Is protected* *for get? Or set? The average PHP developer will have no idea. In fact, they likely won't know that they even correlate to get and set. 2) Ther

Re: [PHP-DEV] [PHP-DEV [RFC] Property Accessors v1.2 : Interfaces

2012-10-16 Thread Amaury Bouchard
2012/10/15 Clint Priest > Also, your "should be valid" statement implies that you feel properties > and accessors are the same and they are not, internally. When a class > attempts to implement an interface a "function check" is done and since > there is no __getXX() function defined it would fa