Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:106139 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 50368 invoked from network); 3 Jul 2019 22:14:32 -0000 Received: from unknown (HELO NAM05-BY2-obe.outbound.protection.outlook.com) (40.92.12.80) by pb1.pair.com with SMTP; 3 Jul 2019 22:14:32 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dH7mzVUtE6NDJsuE8okcBY1A+ylq6q8NrunFTeUDuk4=; b=lWl1eMxGUGJ+HSUWfbYtwukph+WlE395wc2T0NKRFyTUa6Qxk8SbCrfCrKuZoUGhmKwv5QVUch4DoBFJV5R0YONM7gm9mcM+bWOecYQDCC0jGLIXzv+M/nduojPUTFx0rlathzCIppakf5IE+YBxzM/N5CBtlNOte4SWmPp7xaj7qit/bW4OO4Dcx1CbCGFQGOMCEjULo7CqSTIq5635Y+Cr4dLqfuJnDZ1NmPVcvdCbbzhaAWvCaFeJVZ4K0EHJZu44DMPPknrTQ6Lz44lgTrjDh/794te21Pclhlyl7I3Hs2H7V3+wFoBnLTvn4OijDlpLruA0uLg5IyP2n/+MFw== Received: from DM3NAM05FT010.eop-nam05.prod.protection.outlook.com (10.152.98.55) by DM3NAM05HT066.eop-nam05.prod.protection.outlook.com (10.152.98.253) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2052.8; Wed, 3 Jul 2019 19:32:44 +0000 Received: from DM5PR06MB2857.namprd06.prod.outlook.com (10.152.98.53) by DM3NAM05FT010.mail.protection.outlook.com (10.152.98.117) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.2052.8 via Frontend Transport; Wed, 3 Jul 2019 19:32:44 +0000 Received: from DM5PR06MB2857.namprd06.prod.outlook.com ([fe80::48cd:8998:c8ff:1f79]) by DM5PR06MB2857.namprd06.prod.outlook.com ([fe80::48cd:8998:c8ff:1f79%9]) with mapi id 15.20.2052.010; Wed, 3 Jul 2019 19:32:44 +0000 To: Nikita Popov , Levi Morrison CC: Andrew Gromov , internals Thread-Topic: [PHP-DEV] [RFC][VOTE] Deprecate curly brace syntax for accessing array elements and string offsets Thread-Index: AQHVMYirNfxB7kSeak+vM8JqgzmjCqa496WAgAAV+4CAACU7Jg== Date: Wed, 3 Jul 2019 19:32:44 +0000 Message-ID: References: <1562149108.866677.18420.33348@mail.rambler.ru> , In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:93A369ABBCF8D5709053F76B9B2410E5928FA7FA9349F6952D72B5CDBFE842E0;UpperCasedChecksum:B354BFCB614F94A4F875CD80769B314E3E84D1B56E03297450201A3B836D0DF4;SizeAsReceived:7093;Count:44 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [tAVo8YfsQJXP0IyBsWbbMpPzpL4Jq6qU] x-ms-publictraffictype: Email x-incomingheadercount: 44 x-eopattributedmessage: 0 x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(5050001)(7020095)(20181119110)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031322404)(2017031323274)(2017031324274)(1601125500)(1603101475)(1701031045);SRVR:DM3NAM05HT066; x-ms-traffictypediagnostic: DM3NAM05HT066: x-ms-exchange-purlcount: 2 x-microsoft-antispam-message-info: JOzEAryP4qmiBpvZLGtX/inKKUW5Qoye/Guye8SGYhGhdVA87fDlZLcXBkz4/YYCBHbzlWn/LLGTic6xK7fv+/PvOhssAnG7sPtoLW4YD3hJRDjx7Z8jiqWMnCcriZ9gjG7nKjRNXHN+QRioZyK4t9stki/G4XkpidvrqEU8VgJ35AB13115vtnLdub1i+1v Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 104718b2-3a07-440c-2512-08d6ffed38c5 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 03 Jul 2019 19:32:44.3249 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM3NAM05HT066 Subject: Re: [PHP-DEV] [RFC][VOTE] Deprecate curly brace syntax for accessing array elements and string offsets From: theodorejb@outlook.com (Theodore Brown) On Wed, July 3, 2019 at 10:59 AM Nikita Popov wrote:= =0A= =0A= > On Wed, Jul 3, 2019 at 4:41 PM Levi Morrison wrote:=0A= > =0A= > > Was any analysis of usage done for top open source projects? I support= =0A= > > this direction, but would prefer to know its current impact before=0A= > > voting.=0A= > =0A= > =0A= > I checked top 2k projects with a 2-3 months outdated data set. Here is th= e=0A= > analysis log: =0A= > https://gist.github.com/nikic/b5f811e0423bf051f4492cd6e0c0273e=0A= > =0A= > Overall there were ~2.2k individual uses of alternative array syntax. To= =0A= > put that into context, there 888.3k total array accesses in the data set,= =0A= > which puts usage at about 0.25%. Uses are usually clustered, i.e. if=0A= > alternative array syntax is used in a file, it will be used many times.= =0A= =0A= I did some additional analysis on the output of Nikita's script. The number= =0A= of curly brace usages is inflated somewhat due to duplicate packages. For= =0A= example, tecnick.com/tcpdf and tecnickcom/tcpdf both have 74 usages, and=0A= are the same project which was renamed. Likewise, johnpbloch/wordpress-core= =0A= and roots/wordpress each have 182 usages, and they are both mirrors of the= =0A= WordPress core codebase. Another example is magento/zendframework1 which wa= s=0A= forked from zendframework/zendframework1 (almost half the curly brace usage= s=0A= have been removed in the magento fork).=0A= =0A= 53 out of 89 total packages using the curly brace syntax use it 4 or fewer = times.=0A= 92% of the usages in are in just 25 unique projects.=0A= =0A= You can view my script and its output here:=0A= https://gist.github.com/theodorejb/ba35fc8f72df8823e07c5f3b51870e00=0A= =0A= Best regards,=0A= Theodore=