Hello Christian, Saturday, November 4, 2006, 5:13:32 PM, you wrote:
> Marcus Boerger wrote: >> Liskov applies to static methods as soon as calls via objects are common >> which is true for PHP. > This is common in PHP and you consider this good practice? Interesting, > wasn't what I would have expected... I didn't say it is good practice, god behave :-) >> In PHP it might work as >> expected but then all programmers that come from langiages like C++ get >> confused. > I didn't realized how big an impact C++ has on the PHP design. Allow me > to *shudder*, I'm glad we're only talking E_STRICT here (-:C Pretty long explanation but I hope it clearifies how I was answering: Language developers copy from each other. Copy in the sense of looking at the ideas and experience from others and taking them over, in a fashion that suites their own language. As PHP has a C like syntax and also some C semantics it goes in a pool with languages like C, C++, C#, ObjC, Java and a few more. It also has influence from Perl or Delphi. Looking at the object model we have, it is a combination of influences from C++, Java and Delphi plus lately also C#. Plus stuff I cannot even specify a counterpart for, maybe some of Python. So when I mention C++ here, I am refering to a specific piece of behavior that can best be found in C++. And I would do the same for other parts with the help of other Languages. I do so becasue I consider that most people prefer an explantion by example over a theoretical explanation - in that case I can suggest nice books: - Object-Oriented Type Systems by Jens Palsberg and Michael I Schwartzbach http://www.amazon.com/Object-Oriented-Type-Systems-Jens-Palsberg/dp/047194128X/sr=1-1/qid=1162662320/ref=sr_1_1/002-5762121-6939211?ie=UTF8&s=books - A Theory of Object by Martin Abadi and Luca Cardelli http://www.amazon.com/Theory-Objects-Monographs-Computer-Science/dp/0387947752/sr=1-1/qid=1162662574/ref=sr_1_1/002-5762121-6939211?ie=UTF8&s=books Actually the first book is pretty easy and can get anybody started. The second is a pretty mathematical approach. That is very good, since it shows what you can do and what not and can explain why certain things are not working. But in PHP we don't respect much of the rules. Unless E_STRICT is active, which gets the most imortant ones. Luca Cardelli wrote more about the Lambda Calculus but I haven't read them since the book above captures all that's needed. >> However the point of adding E_DEPRECATED is still open. Where open only >> means which version will first have it. From my perspective that will be >> either 5.3.0 or 6.0.0 depending on whetever comes out first. Helping here >> would be greatly appreciated. > What help is needed, compiling the list of E_NOTICE/E_STRICT to be > convert to E_DEPRECATED? Or giving input on how to convert the > individual messages? I'm willing to help. Yes such a list would be very helpfull. If you think individual messages need to be altered other then changing the severity than we might need to discuss that as well. Having the list of such messages would help anyway. Because without helpfull feedback we can never get rid of design flaws. Looking forward to get that list. best regards marcus -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php