Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:20247 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 84346 invoked by uid 1010); 22 Nov 2005 20:34:11 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 84331 invoked from network); 22 Nov 2005 20:34:11 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 22 Nov 2005 20:34:11 -0000 X-Host-Fingerprint: 204.11.219.139 lerdorf.com Linux 2.4/2.6 Received: from ([204.11.219.139:51929] helo=colo.lerdorf.com) by pb1.pair.com (ecelerity 2.0 beta r(6323M)) with SMTP id 5D/73-11378-2C083834 for ; Tue, 22 Nov 2005 15:34:10 -0500 Received: from [207.126.233.18] (rasmus2.corp.yahoo.com [207.126.233.18]) (authenticated bits=0) by colo.lerdorf.com (8.13.5/8.13.5/Debian-3) with ESMTP id jAMKY62M002837 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 22 Nov 2005 12:34:07 -0800 Message-ID: <438380BF.8000207@lerdorf.com> Date: Tue, 22 Nov 2005 12:34:07 -0800 User-Agent: Thunderbird 1.5 (Macintosh/20051025) MIME-Version: 1.0 To: Matthias Pigulla CC: internals References: <00A2E2156BEE8446A81C8881AE117F192C1C4B@companyweb> In-Reply-To: <00A2E2156BEE8446A81C8881AE117F192C1C4B@companyweb> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: AW: [PHP-DEV] PDM Meeting Notes From: rasmus@lerdorf.com (Rasmus Lerdorf) Matthias Pigulla wrote: >> 2.10 Dynamic class inheritance > > Can someone elaborate a little on what this is supposed to be ;)? Also known as runtime inheritance, or late binding. It's not a new thing, we have it today. The discussion was about whether to have a way to disable this and force people to define their classes at the top-level of scripts and to define them in the correct order so all binding can be done at compile-time which is of course faster. The conclusion was that this could be done at the opcode cache level. > I had a discussion about this with a colleague recently. IMHO specifying > construcor signature does not make sense at all in interfaces... What is > that supposed to do at all? I mean - conceptually, what does it express? Just like any other signature in an instance, it tells anything that implements the interface that it must have a constructor and that constructor must meet the definition in the interface. Useful for object factories. In most cases you don't want to force a specific constructor in which case you wouldn't specify it in the interface, but I see no reason why you shouldn't be allowed to specify it there if you want to. > As to type hinting, has there ever been a discussion about allowing > string/int/... type hints? These could perform appropriate casts so you > don't need to make such checks at the beginning of every method you > write. Yes, a lot of folks are strongly against going down that route. -Rasmus