On Wed, Aug 15, 2012 at 6:54 PM, Lester Caine <les...@lsces.co.uk> wrote: > Giedrius Dubinskas wrote: >> >> My main aim with this suggestion is readability. I'd like to remove >> unnecessary noise in code where it doesn't add any value to the >> reader. Code is easy to type (especially with good autocompletion) but >> it is read more often then typed and I think that is important. Or is >> it just me? > > > Depends who is doing the reading? Since a static method should be provided > with all the data it needs to produce a result, does it actually matter what > it is called and how it is called? Of cause it does when one is trying to > find the right descendent method of the class? > > I've already been told that the code I'm working on upgrading is archaic but > it works fine. The bulk of the recent work has been pulling $this out of > functions and creating a static section for many that handles the results of > building a hash from the object, or supplying a ready built one. I'm told > that it's bad practice to include the static functions within the class? But > they are an integral part of processing the object, or are overridden by > functions in the descendant objects. So 'staticMethod' has to be the right > one for the object created, and SomeClass:: depends on the object being > created. So how does the proposal cope with that type of structure?
Sorry, I'm not sure I follow. Would it be possible provide some examples of what you mean? My proposal does not change anything to existing code. It only adds to readability where it is most desired. I picked PHPUnit example just to show that there is a desire for it in real world applications and in that particular case looks like inheritance was used (IMHO incorrectly) to reduce noise of prefixing class to each static method call for assertion and mocking matcher. With my proposal it would be posible to reduce this noise even more. I am not saying that this feature would be used everywhere nor that it should. But it would add a lot where it is already most desired. And FWIW for PHPUnit it would work out of the box. The static methods are already there. One would just need to ``use`` them :-) -- Giedrius Dubinskas -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php