Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:85063 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 44559 invoked from network); 16 Mar 2015 14:45:41 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 16 Mar 2015 14:45:41 -0000 Authentication-Results: pb1.pair.com smtp.mail=theodorejb@outlook.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=theodorejb@outlook.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain outlook.com designates 65.54.190.24 as permitted sender) X-PHP-List-Original-Sender: theodorejb@outlook.com X-Host-Fingerprint: 65.54.190.24 bay004-omc1s13.hotmail.com Received: from [65.54.190.24] ([65.54.190.24:58616] helo=BAY004-OMC1S13.hotmail.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 0F/C1-34940-39CE6055 for ; Mon, 16 Mar 2015 09:45:40 -0500 Received: from BAY178-W52 ([65.54.190.60]) by BAY004-OMC1S13.hotmail.com over TLS secured channel with Microsoft SMTPSVC(7.5.7601.22751); Mon, 16 Mar 2015 07:45:37 -0700 X-TMN: [5dTFX2642yn/iQRRYB4+1O8MJQz5scMp] X-Originating-Email: [theodorejb@outlook.com] Message-ID: To: "tpunt@hotmail.co.uk" CC: "internals@lists.php.net" Date: Mon, 16 Mar 2015 09:45:36 -0500 Importance: Normal Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginalArrivalTime: 16 Mar 2015 14:45:37.0108 (UTC) FILETIME=[DD7A3940:01D05FF7] Subject: RE: STH and the 3 RFCs From: theodorejb@outlook.com (Theodore Brown) On Monday March 16 at 9:33 am Thomas Punt wrote:=0A= =0A= > Strictly speaking (pun intended)=2C this is not true. A library can easil= y expose a=0A= > facade that enforces a user of that library (who is in weak mode) to have= to write=0A= > in strict mode [1]. Once more=2C this can be done unintentionally [2] bec= ause of the=0A= > caller-deciding semantics. These examples can be further extended into wr= apper=0A= > classes=2C nested library dependencies=2C etc.=0A= > =0A= > Sure=2C you could argue that this could easily be turned off by simply re= moving the=0A= > top declare() statement of that library=2C but modifying the library in i= tself introduces=0A= > complications - especially when using dependency managers like Composer.= =0A= > =0A= > [1] https://gist.github.com/tpunt/4830d18d47e2df021c2f=0A= > [2] https://gist.github.com/tpunt/eecfed2495bdccb73632=0A= =0A= This is a bug in the library. It declares strict mode but passes a value it= =0A= does not know to be an integer to a method requiring an integer. It can=0A= be fixed by simply adding an int type declaration to the constructor or=0A= test method.=0A= =0A= Thanks=2C=0A= =0A= Theodore =