Am 11.03.2015 um 14:03 schrieb Rowan Collins: > Johannes Ott wrote on 10/03/2015 20:46: >> okay indeed the dynamic properties are a problem I didn't think about on >> my suggestion. Without the wish to hijack this thread for another >> typesafety discussion, I must say again that PHP needs a less dynamic >> and more declaratively properties concept in my opinion. > > Yes, I think a standard way to say that a particular object has strictly > declared all its properties, and should not allow would be useful. > > (Even with that, though, I'd be against guessing that "$foo" meant > "$this->foo"; it just makes code harder to read.) >
I disagree, programming Java beside PHP since about 15 years now, personally I think always having "this"-keyword, where it is not necassary in a strict OOP-world, makes the code more unreadable for the simple fact it is more to read. >> So I would suggest for now to keep the $this variable, but to make it >> more similar to other OOP-languages I would suggest to remove the >> $-character in front. In my opinion it would fit better to other object >> keywords like parent and self as well. > > Other OOP languages only don't have a sigil such as $ in front of this > if they don't have one in front of *any* variable. Why should $this, > which acts like a normal variable in pretty much every way, drop the $ > when every other variable in the language has one? > > Note that the syntax of parent and self is different, and is consistent > with static member/method access, or more strictly "scope resolution". > You can't pass parent or self around as variables, only use them to > resolve scopes, so they don't have a $. > I only agree a bit, because the keyword "this", is what to call a hybridization, more often used to define the scope of the property or method you want to use, then used really as a pure variable. For example: this->a; or this->some_function(...); just defining the scope as in the current instance is much more used then. some_function($this); > That's what sigils are for - making similar things look similar and > distinct things look distinct. > > Regards, -- DerOetzi -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php