Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:47428 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 79462 invoked from network); 19 Mar 2010 15:19:35 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 19 Mar 2010 15:19:35 -0000 Authentication-Results: pb1.pair.com header.from=olivier@phppro.fr; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=olivier@phppro.fr; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain phppro.fr from 209.85.218.216 cause and error) X-PHP-List-Original-Sender: olivier@phppro.fr X-Host-Fingerprint: 209.85.218.216 mail-bw0-f216.google.com Received: from [209.85.218.216] ([209.85.218.216:52325] helo=mail-bw0-f216.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 36/3A-19901-20693AB4 for ; Fri, 19 Mar 2010 10:19:32 -0500 Received: by bwz8 with SMTP id 8so3168782bwz.23 for ; Fri, 19 Mar 2010 08:19:28 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.9.134 with SMTP id l6mr4142979bkl.83.1269011967624; Fri, 19 Mar 2010 08:19:27 -0700 (PDT) In-Reply-To: <48EA9B90-D8FA-4C85-A701-562127B313D8@stefan-marr.de> References: <48EA9B90-D8FA-4C85-A701-562127B313D8@stefan-marr.de> Date: Fri, 19 Mar 2010 16:19:27 +0100 Message-ID: <532f4eb11003190819k5124b3c8j1a6e5ef14a69895e@mail.gmail.com> To: internals@lists.php.net Content-Type: multipart/alternative; boundary=00151758b1848bc6ea048228dfb8 Subject: Re: [PHP-DEV] RFC - "class underloading" -or- "ancestor overloading" From: olivier@phppro.fr (Olivier Hoareau) --00151758b1848bc6ea048228dfb8 Content-Type: text/plain; charset=ISO-8859-1 Hi, The feature specified by Chris remind me the "metaclass" extension system of Groovy language (I am not a Groovy Expert, but properties seems similar). +1 for this kind of feature at a language level, IMHO it will really help for Aspect Oriented Programming, Legacy Code Refactoring, Unit Testing (Mocking mecanism). > Gwynne already referred to Runkit, which gives you all the tools you need. > IMHO Language-level features are much more appreciated in facts, and Professionals pratices-required features (AOP, unit-test...) should be language-level (in order for pratices to become more popular) However, since monkey-patching isn't something generally appreciate, I > wouldn't go with promoting it to the language level. Instead, some Runkit > functionality could be OO-ified and integrated into the Reflection API > (somewhere along the lines of [2] perhaps). > +1 > A technical issue with your proposal you do not address are conflicts. > What happens when two classes overload the same class? > Why "including/parsing" order should not be taken into account ? Beside that, the best thing you could to for the moment is to convince the > Zend framework guys to read up about Open Implementations[3]. > Thanks for the link(s) ! -- Olivier Hoareau PHP Best Pratices Evanglist Bordeaux, France --00151758b1848bc6ea048228dfb8--