Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:25103 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 83181 invoked by uid 1010); 2 Aug 2006 07:49:05 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 83165 invoked from network); 2 Aug 2006 07:49:05 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 2 Aug 2006 07:49:05 -0000 X-Host-Fingerprint: 80.123.98.46 unknown Received: from ([80.123.98.46:3051] helo=localhost.localdomain) by pb1.pair.com (ecelerity 2.1.1.3 r(11751M)) with ESMTP id D9/A0-45114-0F850D44 for ; Wed, 02 Aug 2006 03:49:04 -0400 To: internals@lists.php.net,Marcus Boerger Message-ID: <44D058ED.908@php.net> Date: Wed, 02 Aug 2006 09:49:01 +0200 User-Agent: Thunderbird 1.5.0.4 (X11/20060615) MIME-Version: 1.0 References: <18810497049.20060801234124@marcus-boerger.de> In-Reply-To: <18810497049.20060801234124@marcus-boerger.de> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Posted-By: 80.123.98.46 Subject: Re: [PHP-DEV] RfC: rethink OO inheritance strictness From: mike@php.net (Michael Wallner) Marcus Boerger wrote: > Hello Michael, > > nobody forces you to use OO if you don't like it but it is as it is. > And we cannot make it ignore its basic rules. It might be that you > are lazy and have code that would end up without problems if changing > signatures at will. However we have a bunch of situations where we > cannot allow changes and that is not only interfaces. It si also > about magic functions, all that start with __, it is about any > signature that has default values or type hints or pass by reference > info. So after all where should we draw the line? Any why just > because a few people are to lazy for a few keystrokes? Come on give > me any reason why we should reinvent OOP theory and make it work. Or > why we should change to prototype OOP and make everything damn > complex to understand and break all of BC. I'm afraid--I'm just really afraid of it. We'll lose a huge part of our freedom we've been used to. This is a big move which will make PHP rigidly strict. Marcus, why force the restricting paradigms of OOP while we don't have the flexible available? It really seems artificial and cumbersome to me. Are there really good reasons to force people to good practice? I don't think this has ever been a motto of PHP, but I guess, if the majority of the leading forces thinks that this direction is desirable, I can't do anything about it than being afraid and disappointed. If people don't understand why I'm so afraid, I probably can't help, maybe I just cannot explain my doubts good enough. ps: Using magic functions is like using interfaces in my POV. Thank you, -- Michael