Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:89916 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 19436 invoked from network); 28 Dec 2015 23:23:31 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 Dec 2015 23:23:31 -0000 Authentication-Results: pb1.pair.com smtp.mail=tomac120@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=tomac120@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.214.169 as permitted sender) X-PHP-List-Original-Sender: tomac120@gmail.com X-Host-Fingerprint: 209.85.214.169 mail-ob0-f169.google.com Received: from [209.85.214.169] ([209.85.214.169:35541] helo=mail-ob0-f169.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 1F/D7-51216-374C1865 for ; Mon, 28 Dec 2015 18:23:31 -0500 Received: by mail-ob0-f169.google.com with SMTP id 18so242976494obc.2 for ; Mon, 28 Dec 2015 15:23:31 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=bW+Bxa6S0doPCMOZC/SLG0VssvQaCT4aILlHRC8eJXs=; b=it9RomII7j1b/PKIgVNmN+utiCEg3j65HI9qS7TkJAe7+HgC9DqFIDycMVN1tZeiW0 3D9r1KqBKYIVW1y5OnmJz20CKqFog1RS29gtY9kdRrpsm8l78hq9M57J7x8POi9/I1ZW GeFP3ev0Bri6A1/T5lJyPUbPLU04pyUEycMiUUyftWnHbcs/1w0njnkk0zbDIfQsAnsa 296hNw94hMaSuKUZAfCqlgYPB/FumEFiTHFEOLQxFhlRjf1mjlshm3kcW4NsFFYFdLoc SywiLY3vIsMP0DJOQMbFgwvFDN0JPPX8W5MRZG2fIMDWOmnbJfcGNgnSqbyhKd10nbrw r9Xw== MIME-Version: 1.0 X-Received: by 10.182.120.3 with SMTP id ky3mr7615994obb.17.1451345009271; Mon, 28 Dec 2015 15:23:29 -0800 (PST) Sender: tomac120@gmail.com Received: by 10.202.220.212 with HTTP; Mon, 28 Dec 2015 15:23:29 -0800 (PST) In-Reply-To: References: <56811E49.1040106@php.net> Date: Mon, 28 Dec 2015 18:23:29 -0500 X-Google-Sender-Auth: xMN2Bjd_0yrTegnHaMhSM3DsFMg Message-ID: To: Yasuo Ohgaki Cc: =?UTF-8?Q?Fran=C3=A7ois_Laupretre?= , "internals@lists.php.net" Content-Type: multipart/alternative; boundary=089e01229de0b96a280527fd9771 Subject: Re: [PHP-DEV] Make strict mode more strict? From: ejrx7753@gmail.com (Elijah Johnson) --089e01229de0b96a280527fd9771 Content-Type: text/plain; charset=UTF-8 Hi (all), On Mon, Dec 28, 2015 at 3:40 PM, Yasuo Ohgaki wrote: > Hi all, > > On Tue, Dec 29, 2015 at 5:28 AM, Yasuo Ohgaki wrote: > > Object(class) is type, so it makes sense checking class consistency. If > we > > check object's class, not only the class but also ancestor classes > should be > > checked. This may affect performance. > > I'm not sure if this worth the effort. > > It sounds negative, so I correct this. > > Since we have class type hint, it better to support class check. IMO. > Almost all cases are simple class equality check. So it wouldn't hurt > performance much, I suppose. > > Regards, > > -- > Yasuo Ohgaki > yohgaki@ohgaki.net > I think that it would be worthwhile to get either a RFC or some test code on this, the latter depending on how you would assess the difficulty. The feature itself has a huge demand and goes along the lines of current development. If something could be developed, then we could assess performance. I would estimate it to be small, however in any case the feature is optional. We're not anymore considering to increase the size of the z-val. The feature has 2 stages, one of which would be drastically easier to implement and would show us about performance. Stage 1 - typing only objects already set by comparing classes upon assignment, if set a particular mode Stage 2 - Adding some form of language hint, which will require a parser and some method of storing the class hint for null objects. The latter has a proposed solution not sounding hard to implement, but modifying the parser sound like a more difficult step. --089e01229de0b96a280527fd9771--