Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:126000 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id 87BD41A00BD for ; Wed, 20 Nov 2024 14:45:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1732114096; bh=94XKD1Y+B9yParI0tGRqLxmjHt9scDqTV81xcRg4RPs=; h=From:To:Subject:Date:From; b=Flh7RcH9byUmTiLhxWd211SbNq0Fprm16Vyb/s7/BGAYz6lXNAC3rVdzZjdWeeAn8 Yh/RRRj9RFU7esz7AZv/1D6vneMpb+dwm3y3qtEQ5ZBd7ZyrXaHyrApURYwQwlNRgt 8tsqv0d6ItQHSLwnQ0QpxBeGz8YIos09qHaecN0rZBrEWkMxQIGBAPgfVmgnIEo5C+ aUs/vVcAQ1rUSM/eV+rsbqSF9yrWJCjDLc4TtZK63P4XDNj17X/Fivuo7xSQLU/eN8 EvInOjj7zQMpHfukvm68h580kg4ZXo1GGr8/X71wXIOOYV+HKHn3wIY0coC+lzN3dv QZjRJlcaH3DLA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 16FD6180083 for ; Wed, 20 Nov 2024 14:48:16 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_50, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FREEMAIL_FROM,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11olkn2077.outbound.protection.outlook.com [40.92.18.77]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (secp384r1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Wed, 20 Nov 2024 14:48:12 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mBG3q6n0Cvd/PLSt+pmnOPv9h3ptjf7aM2KWnL6DJZvP4H54YVa+FznMqM5AzUFq0T3D5tPEuJUvVkdFGgbYc4ovNTIO4ExbwSnsMQU3LW25d/cSRnI+0DLGhv5d32PmefirFExCynB0V+dCE5pTcWvjmk5wVjskKtr+u1bALw17U2oFg/V4qOpHBHeSHsm3L4eg/qGPPPLmmN85YpjCwhIfnM6gfAdBbfolgraqZNrpYH9oq6QgzRaP2PY/oo/fMbObcvBd1wKqCH2DAmQqhSHDBA8w7jvaDIH7gVFWAyMdap2AXA/dajQ97grf5VULhKBnYOE/b7p9TahidJlgnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=L54hw1er7g8PCvLDByD8pTFnAa8qUscX7Ykff71yOFQ=; b=EycjLflpwxyi3d8w/fwoWY3DzCLiRnYWBb8wu1SMwMyY3tHpWBOUvHhavs0CsoIjLIR0WBTftw++Yq1529NENNs/RsVXbqYIrt8DUUxA38bM1l2T/Vw7StGHNcbGTwjRoW1L6WSrFWO/FKDTMF4I+2hvzcwGYtDFy63EVyPnp7VEULsgHTqi6lfCoIj4uwR2JJorG/hZShESC9AHoR42T1qW8bvVSkQ58K2cRSzOzmq6QSvlA7080r1g5bkkDN0q0GRhQUF2mPNGwPviO+lX2y5dYJhjk4m9jGKFc/uao9RftNa66NZS8NAYaIPu6jjHDFj2s2asOLwTpDVzggRF/g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none 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=L54hw1er7g8PCvLDByD8pTFnAa8qUscX7Ykff71yOFQ=; b=H142uv2IR7blBZ0Qu7te/e8jV2I0ZJHtbCCopiNQPGWwN/J+bEHFqUeUBMF4r3GIjA5vuShfX4jS9JKea9UJ+iIi7Mm8w5xPjuyeGvF6znQBAAoNd6V+/bNKELhV0TmXDCjMGt2R5XDf7Fw5jzCcpIxmTI4Ce2qNylymX9noDl6bOM95AlMlJFGV/JTItuwUpOrI7+H3ac1pP8qcaJnQJExGyNXIn+VQe93EJJa1z6NZMYth0ee5bOfBk+oeX4Sb3FhV2CxdLqFOXYvwEwIDT5mLxzxShl9vir7nKuCrmZ+AOaon80ivohyqVD+wVdtpHw4FOZ7V6s8e2LVZO5tX5w== Received: from PH7PR16MB5781.namprd16.prod.outlook.com (2603:10b6:510:303::21) by MW3PR16MB3673.namprd16.prod.outlook.com (2603:10b6:303:44::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8158.23; Wed, 20 Nov 2024 14:45:30 +0000 Received: from PH7PR16MB5781.namprd16.prod.outlook.com ([fe80::97e6:fe65:7720:84a9]) by PH7PR16MB5781.namprd16.prod.outlook.com ([fe80::97e6:fe65:7720:84a9%7]) with mapi id 15.20.8158.023; Wed, 20 Nov 2024 14:45:24 +0000 To: internals Subject: [PHP-DEV] Deprecate alternate switch case syntax? Thread-Topic: Deprecate alternate switch case syntax? Thread-Index: AQHbO1pEeyVsqr6An0WGHKbcbcToiA== Date: Wed, 20 Nov 2024 14:45:24 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH7PR16MB5781:EE_|MW3PR16MB3673:EE_ x-ms-office365-filtering-correlation-id: b1469826-44c1-4e5f-d553-08dd0971f7a6 x-microsoft-antispam: BCL:0;ARA:14566002|19110799003|15030799003|461199028|8060799006|15080799006|7092599003|8062599003|3412199025|440099028|4302099013|10035399004|102099032|1602099012; x-microsoft-antispam-message-info: =?iso-8859-1?Q?9UX2Zntw9pnY/5NYLK4NrlKhZHOICWH5Ov3yT5yTn9VW2ZpjpoH8ganqR/?= =?iso-8859-1?Q?/EH4RK4D5HWieAJFKC0AOtP3DAMk/EXvW7wjC78V9znuWwMqyZas5xDrJR?= =?iso-8859-1?Q?mAR1lEjT6UoR2zSUoQaS90S4NYD3/jXT3xC+tfxZLmIcnm+tr5Dcp0yTbx?= =?iso-8859-1?Q?RDKll0tyrSTXWHoPv8JNpmDkk7daAwt2M2ffyUPcWM9K/a9lDiwamBj8oc?= =?iso-8859-1?Q?0uZ5LOjThevpNXk87og7G9i1ZK6SG/TG9hYD5BCvJZuzGVznSV615jE10N?= =?iso-8859-1?Q?YIHMifwTfd1AMPYC2C0O6yy1wki2zclEIsrDpcq7I/4vvi3GFGjX5B65jC?= =?iso-8859-1?Q?VTMR98EALbsBAOX8eXxyr5ikYT3ezkTjex7wO9riAAqBm8BPtvGLzXrfuW?= =?iso-8859-1?Q?x5PrVYs8dxcVbwMY6btyBqDnXrShduOdtS2jEfqn51uvUbH3Ej7NIxUvTc?= =?iso-8859-1?Q?bI3LBEQCPCGiLKkI4eDmvhmDpt7mYjH9RTBWbf+H6tOe0rD0f9HdbOfirV?= =?iso-8859-1?Q?tiVHs7ipUUrT28nYs0qQGsMZnFPm//8peo2wAe22+DtDNFsGEtpzkSH2nl?= =?iso-8859-1?Q?yeMlD0R38C8K7KNDhHcTOyZhY1725Fcn6DMo0umpdOzgEDxNShlH6enSz9?= =?iso-8859-1?Q?zx3k4J/Vylgdm/2eav7m+o12GgLZPLtZjuM6ftpTj614TlAbu/fXWIRecs?= =?iso-8859-1?Q?S6AH3PCskMm+SOnutkPpGooKeZtmeb5lsR/BXIS0NWw/MnfML9Eqnww5RW?= =?iso-8859-1?Q?oWkUMJFl1oFNbxVaD1tJXeyNiNWcHZKHpiPRpvpByCmxGyJjHoecSQ41Ak?= =?iso-8859-1?Q?P8sisjt+0inlxBf/odBh8Qb9Dz/rAkwqAU3OjYW4X5HAiXpFl8AGPKS5EP?= =?iso-8859-1?Q?KzB3tlLmuSOUQf5zQKTsv6u6mbsp3/GBpOTnbJ36xUxMyiUhox2rwOZZBX?= =?iso-8859-1?Q?2PcS1JuiCSpXQBE8W+X2mWtNSRoOASyAxunSvHbthZXDr//CWnr7DqaqS3?= =?iso-8859-1?Q?WQwPPo4dFYhqZPBTk2iI2N/yYYXyK3Zj89hv64XbTGt1s6LESzFQLdEhaI?= =?iso-8859-1?Q?gPGvVrSez7mjund9WWnNK+JMXmCM5mduBnyh8w7oW5D7ygzugxiyCmF5Ii?= =?iso-8859-1?Q?v8El858njt94bIfaWiPM4qsTyDJl0sTt7WvjCK3YKn8I0H98tz0Xej5dbB?= =?iso-8859-1?Q?SOqWE6UV1vJWqt3zWYPLJbQh0OCKs+uIGoPRvakYG3E6yDvDPkLohpxW?= x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?Dx7gXdzbYztW2CZXLmdyrohwRyRrp2ruD5upq7/B0dTNDOIe6XHDjB24BR?= =?iso-8859-1?Q?FWrcLp/EyI58L+cfdJvzQ51yjy0egd9N2vEmhcOo9/4WGM17DwZgQM0I86?= =?iso-8859-1?Q?uH+msLYNrkFCEojDbua5w/EO8puhz1o9w9kI9D3pSZvnkzMFWmaToYhye6?= =?iso-8859-1?Q?Pf5xz/4bms+APCfY+b6za1T+qNaNzRNMm8VoM6cdjNxwzDpQhzj46bXAjy?= =?iso-8859-1?Q?lnxgvseoV8k325NTOBomytUbdW1DrVaF3PmIlgDeDu9OapfSYPtLTrsbm0?= =?iso-8859-1?Q?JyMmO1JJV3RaEGNJIB2o+RvtDIsXOrJAG80HO7qHrfuP9Jr1wk9AGJ/CYn?= =?iso-8859-1?Q?j4LcDz5cbYLHO5SwqMRwaI/cjGuDIvk+EOte10OXPUnfJJmWgmUkcmgDFT?= =?iso-8859-1?Q?QDRj50L/blmfNTJnh0G1VANWJJM9HqLF9Yijc+2w/i2IHfkBY0tDfl6PNO?= =?iso-8859-1?Q?w3FhrGmkH+tv5lWrq3vkSNoygRGfdEQdfVqHaeTzVPErvcJ04E04wkxzKg?= =?iso-8859-1?Q?M4M11AfavMCQ/7+aZDU6LX5y1s9uybAsoTmbVIDD/bjzK06HQETU5GO2p1?= =?iso-8859-1?Q?pX2EoLmBKmywjuKO6as9G9xyo/64Ljs9oFC8DPSzklAH0dpc7r59NxZNmg?= =?iso-8859-1?Q?zhPVbT/SiHafnGxAj7raV9FXmc7bQWJ7AoHYIr4+qVMf9gOVlgALhHUnKD?= =?iso-8859-1?Q?9nUbA0ATw6HhNXcSsj3bMoi+9nzZY+2+X6sPvytmWLqJ3RtjH8RI0ccEF3?= =?iso-8859-1?Q?+EM/HlIMJwEpRzKRo4T63Yi+xzb/HIO8sk7XdZMLtCe8ZBppVW4zQB1UPo?= =?iso-8859-1?Q?Ho5vmMhLb7qNL6u+rzmdl5J6xllpVbk0Z8I9g2DZfDz08SxK1aL/PV1V6T?= =?iso-8859-1?Q?ygJ8s4ROERT/i2QDo5iSx6+66BI3SLO2k32UXkj2s2xPOv0DQBIEKWvBEw?= =?iso-8859-1?Q?TfoHqiBMKY9M+09D1+HQo3Vdy7Ppjc5gniNnpCDaXtmmQtqevEVgFuXxCM?= =?iso-8859-1?Q?kXmYoZWqftUx3i3vfvxHtqjUJAfgEb4wF/VCThP6OHW7eGtCZHjKMkzPdx?= =?iso-8859-1?Q?Q1yy6ZBQ0z/tnpmdEW5/0d80wXnONwTDkVkpba2SMM95gzfuXCrE5boOFy?= =?iso-8859-1?Q?TWf1DEUXb/qWrqGqP3/BAwuGBu7UjFEBfowSt+gyA7nhcCzBtrqNTeROIY?= =?iso-8859-1?Q?HM1hHQIzyIm2wYRpQqXyK4BqMCzfixgxoUqhXzCg7rWRLKGuMG05/MnuW/?= =?iso-8859-1?Q?PsuLottoNo8q7b8Wt0Dl76ACubVtSoh7BBho+MnZg=3D?= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH7PR16MB5781.namprd16.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: b1469826-44c1-4e5f-d553-08dd0971f7a6 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Nov 2024 14:45:24.6760 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR16MB3673 From: theodorejb@outlook.com (Theodore Brown) Hello Internals,=0A= =0A= I recently found out (after 15 years of being a PHP developer) that PHP all= ows using a semicolon rather than a colon after case statements. [1] I.e.:= =0A= =0A= switch ($value) {=0A= case 'foo';=0A= case 'bar':=0A= case 'baz';=0A= echo 'foo, bar, or baz';=0A= break;=0A= default;=0A= echo 'Other';=0A= }=0A= =0A= Apparently this syntax has been allowed since at least the PHP 4 days, but = very few developers know about it.=0A= =0A= I ran a script on the top 1000 Composer packages to gauge usage, and out of= 35,777 total case statements, only 15 in two packages used the alternate s= yntax. All were accidental typos (randomly mixed in with statements using t= he normal syntax), and I opened pull requests to fix both (the first has al= ready been merged):=0A= =0A= - https://github.com/reactphp/promise/pull/264=0A= - https://www.drupal.org/project/drupal/issues/3486526=0A= =0A= Would it be worthwhile for me to write an RFC to propose deprecating the al= ternate switch case syntax in PHP 8.5?=0A= =0A= The main reason for deprecation/removal it is that it causes confusion. A d= eveloper may think the alternate syntax behaves differently in some way fro= m a regular case statement (e.g. preventing fallthrough or something), when= it actually does not.=0A= =0A= Best regards,=0A= Theodore=0A= =0A= Note: The normal case syntax has been part of the PSR-2 coding style since = 2012, and PHP-CS-Fixer automatically fixes usages of the non-standard synta= x when using the @PSR2 or newer @PER-CS rulesets.=0A= =0A= [1]: https://github.com/php/php-src/issues/15258=