Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:67496 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 45034 invoked from network); 24 May 2013 15:37:14 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 24 May 2013 15:37:14 -0000 Authentication-Results: pb1.pair.com header.from=ekneuss@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=ekneuss@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.216.175 as permitted sender) X-PHP-List-Original-Sender: ekneuss@gmail.com X-Host-Fingerprint: 209.85.216.175 mail-qc0-f175.google.com Received: from [209.85.216.175] ([209.85.216.175:43929] helo=mail-qc0-f175.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 41/4B-20943-9298F915 for ; Fri, 24 May 2013 11:37:14 -0400 Received: by mail-qc0-f175.google.com with SMTP id a1so2469083qcx.20 for ; Fri, 24 May 2013 08:37:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; bh=JQQXfgA8ZuDVqex3s4xnxAPSkFsdeuxwGieAAOdLEAc=; b=DyaYH7w54EA+G8OKyE9789FSayLeKARFNjFaSXdp8ShjckUN+IbWPTVGQRvPeGGw63 4mT5r3IbOScfb19fpz/mqQRzdOImGWZCyH7MnrO0mmH9oDJ8Z8hTNl/Rh9VZX1Y6kRFW WoQQV/ui2sp6GwnbiQCPAcVAtoJM9SMGy5MkQNMx/6qHg712+cyHok8Zlg96Gcfg+DII jBT1nqOv0R08NWmBfqd0lQkpnW5xs6jdiP6TrEmprppgK6b8jjPstQoD+0P7iBdbTxZZ A9LVSBhP9D+a0/9gaJzzJTi6RXP4YvzOeNUgJ+c4JN1gwHnJP7/byMdEkCfyuTYq1WQK 95XA== X-Received: by 10.224.174.138 with SMTP id t10mr16538625qaz.99.1369409831353; Fri, 24 May 2013 08:37:11 -0700 (PDT) MIME-Version: 1.0 Sender: ekneuss@gmail.com Received: by 10.49.120.234 with HTTP; Fri, 24 May 2013 08:36:51 -0700 (PDT) In-Reply-To: References: <6b642a96e673c29dbaf2f239be15f7f6.squirrel@www.l-i-e.com> <519E8ADB.90202@sugarcrm.com> Date: Fri, 24 May 2013 17:36:51 +0200 X-Google-Sender-Auth: NitVl1bO824dRq9sZMaVUfBtp5U Message-ID: To: Ferenc Kovacs Cc: Richard Quadling , Stas Malyshev , Anthony Ferrara , Richard Lynch , "internals@lists.php.net" Content-Type: multipart/alternative; boundary=20cf30334e038cc32c04dd78922c Subject: Re: [PHP-DEV] Cannot call constructor From: colder@php.net (Etienne Kneuss) --20cf30334e038cc32c04dd78922c Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Fri, May 24, 2013 at 5:32 PM, Ferenc Kovacs wrote: > > > > On Fri, May 24, 2013 at 5:26 PM, Etienne Kneuss wrote: > >> Sure the default implementation would have to be identical to the >> behavior of not defining one. >> >> > agree > > >> I believe the best way to solve these issues is by having an implicit >> base class. >> > > that would also solve the "I want to typehint objects" problem. > > >> To some extent, that means BC breaks though. >> >> > by BC break you mean the name of the implicit base class? > > No, I was more referring to the fact that people might be relying on the hierarchy to be bounded by their own classes, and checking for their roots using i.e. class_parents/reflection. If we introduce a class and force it as parent of every userland root classes, you can always find existing code to break in non-trivial ways :) It seems acceptable to me though, given the progress we would make with this change. > -- > Ferenc Kov=C3=A1cs > @Tyr43l - http://tyrael.hu > --=20 Etienne Kneuss --20cf30334e038cc32c04dd78922c--