Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:126061 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 A295C1A00BD for ; Tue, 26 Nov 2024 17:38:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1732642534; bh=4utUOj/nYuOB7T35gR+O5i73NEzgQYm+I4Ll3Mn5Ir4=; h=Date:Subject:To:References:From:In-Reply-To:From; b=PanzXlUrjy9haOQmltLW1Y6sWmU43o9EP8J/gNBEy/xvokpqR9uix8LZoDMAEOCfM 7/+jQ58wKZBLCku3RrUTSOMQ78vu3PRKM1oPeQythEUSfLwYd96NT/+8MLRIvjcT5+ G6+5MyUbsfRZDNRepFwafgR8XtACEpro30i8a9bsyquUaqAY1niI1wpeUyblhabKPQ 0T0LJeR8tN7d37rtXbDFeuhPjMrBGLnrP62eaVed9FwVuSc0vHEai/7IWGtcQu0Mi+ nWgOh4a2i3Odd0XmXGS/0r1JSrMKhSuCQnxYuvaVfEK0fqvFuw871YLkZKWfoqdfgn BZVWVJFUNe3UA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 527E8180037 for ; Tue, 26 Nov 2024 17:35:34 +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_DNSWL_NONE,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 APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01olkn2109.outbound.protection.outlook.com [40.92.107.109]) (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 ; Tue, 26 Nov 2024 17:35:30 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KVZ5nIuaJIzpEbIegENDGV9H1mV01n0UyHpaKPNHP8bkA1YCCy+s5t6jVzUWpqEUDwVs1e7UI/dNt5TBCbZI0b/oj6DbZmDliEM9OKKgGqV8nu4YEpEFjRGbZ1alKfOL4oUIXu29IQPvR0LL3pFOhXGDRq4LqT5G+mR7W+si9oKOlUEaoYtjid/5qh5sjKGHVGZcFPQ0w7+tWxARMz0y76QLu893JjAomL/oL3YgiMtF2vVQ74nzKYS4P3jKVXJ8CTfTk4XXoB1XQDdAxPDFJI7scz2tdAJp6QnTYbip0B9MiVadigyfNUQ3TfP52+aA9XG4uSggNL7P2IcWeO0P1A== 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=pla+/jdNVLfWjZ8ARcePZhow7GsMOeYsSHVRbjS5HxQ=; b=y1ZZURvpPEmBfQP+AcachhkPdMr2ttNvoYD3xwVAncMMucIF1uvVq3vjXJ7sN6QKq9im5Y5m4spEZdnr0WzOmxEkx3U9bYHCqpU2ze5TMszQz3mvQUNHu5yYw84GRXK0AEI51mnUp39kPVRqL8K9fdNBIZt+jfIVbtvXY0vlhddK8v/yIwPyLgKGEvWN8yuPPOay9k+3/R1+wEb8WsN3TDMRTTPmpz+vNy7qP+b2P3BSWCT0aAH9uIzyImKH5007PxonXlB1yaaBPaOr/zUIMOAbuj9oErvcpQRM+pbJooL66blWFC1F0a9YfJ/aS8QupzGPmnRgRIJBvh81O9Ec6g== 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=pla+/jdNVLfWjZ8ARcePZhow7GsMOeYsSHVRbjS5HxQ=; b=dSccM0mx7bi7M3EBbSE8ALhDNwg+jk7bP68SrQ6OnElkLGrYJMO8WlUA1KR6X4eHwlJpMWW5fGo53TSLd4ZQE0zjo0s8TaPJ5HdH5ZSy/QNUTwDHzYbKg2TUbJuQVTUl7yGq8T0Mee1z17hkClH31bx9t6nEKocYucegvqCf+o5BFz+7NjEDO/i7w1Kfh7g9ohK/T/Q9HyN2GZpuXFO+rpUPL9TW5MDjpw155IVJOuCVjyDbQzWBgwmo3WxO58l07uqDlHGGFwzz2dcfOVyKaUC8JAmXy557nyRT214iA0r4KrBJwFJvZ0NYCPVjzE0OwtEaA/9eiSniznzrm/AHQw== Received: from OSQPR04MB8060.apcprd04.prod.outlook.com (2603:1096:604:29b::13) by KL1PR0401MB6441.apcprd04.prod.outlook.com (2603:1096:820:bd::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8182.19; Tue, 26 Nov 2024 17:38:37 +0000 Received: from OSQPR04MB8060.apcprd04.prod.outlook.com ([fe80::dac5:793c:391b:39b6]) by OSQPR04MB8060.apcprd04.prod.outlook.com ([fe80::dac5:793c:391b:39b6%3]) with mapi id 15.20.8182.019; Tue, 26 Nov 2024 17:38:37 +0000 Message-ID: Date: Tue, 26 Nov 2024 19:38:32 +0200 User-Agent: Mozilla Thunderbird Subject: Re: [PHP-DEV] Return When To: internals@lists.php.net References: Content-Language: en-US In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: HE1PR08CA0061.eurprd08.prod.outlook.com (2603:10a6:7:2a::32) To OSQPR04MB8060.apcprd04.prod.outlook.com (2603:1096:604:29b::13) X-Microsoft-Original-Message-ID: <08f6ec21-e7d5-4c70-bfca-67eb72c5d187@outlook.com> Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: OSQPR04MB8060:EE_|KL1PR0401MB6441:EE_ X-MS-Office365-Filtering-Correlation-Id: 9a70cf68-fc07-46df-31da-08dd0e412832 X-Microsoft-Antispam: BCL:0;ARA:14566002|6090799003|8060799006|5072599009|7092599003|461199028|19110799003|15080799006|3412199025|440099028; X-Microsoft-Antispam-Message-Info: =?utf-8?B?NFg1cGVianU5R1hVbkMrOVk1eWFjalptdjNRWHNIcTVVZTVzbnVlc2lDbnY1?= =?utf-8?B?VGJ3TFJneUJFU09KLzE0Q1R6aEg2K1VhaHVKMDhBQjlqeTd2T0U0QzBXRmtC?= =?utf-8?B?cmFmcXVEcjg5c2daQlVPaFoyeGRORE5kWDFvQTB6eHdRMHZmOG9TK0RJbmRS?= =?utf-8?B?RlV3djFEZWYweUVvakJIeTFrVFBEL3U3WWd6bndBWEpDcTM3Q0JWVDJuTmhu?= =?utf-8?B?ZTM5VzhUNkl1VCs5K1ptOURqQTlQNXhrczJTSHBCRXhKZHkvM3B5T2s2c3hF?= =?utf-8?B?M083dnhwWEZCNTZOcDk4OHlGeGZGVTNzZnB5L05GNjAvbEF5VmQ2TXVqeWJP?= =?utf-8?B?aCtCUFNWSjlTR2ZzaVhuTXEySTJTakx2NTlRYVJWblU1a3g3YVI3OHV2a0t3?= =?utf-8?B?ZFpYS2hLc2VwVjBPVWtsY25QemRKZnBTcU5xbU55TSt3Vk1DRERRdGRpM0pH?= =?utf-8?B?SDhtUjdIclZHU3VyVXNLcUh2b3ZTaG9wTHNZdlJDTXBva2tVQnc5bERvUnBU?= =?utf-8?B?TTFWalM4SzEwbE0xN0tuUE1VQ2dlcnFpTU8yMzdodFlOanNjbWQ3RDI5UDJQ?= =?utf-8?B?VGQyMHB5UDFYZXNFKzFEZXBFdTZyQmtCRDh2WTl0R2NVbFRCSVB6UFh5V05k?= =?utf-8?B?YmVSTE51a09Sc3RTQnAxc2RGRmJDR2ZnZithYjkxSFp0NlRzOWNBKzlwTXpE?= =?utf-8?B?bGpxOTRhWWlEWERkaWJZTmlJd0xua0lBVDlQMFpKZTJQcjlUQjdjZnhBNE5E?= =?utf-8?B?NGVKSmY3V3BCTm9xT21lbmE3RVlUbUFiYnNLR0pqaEs1TkpUbVpqN2N6eGtW?= =?utf-8?B?c2dyREVFNko4NC9BcjVBN1JNWTNqRFFlajloSXJmWWZsL0loTGFaYUl3TEMr?= =?utf-8?B?Um9sblE0eERaNG1DZ2dxcEs1MEdzcld5clAra2FHaWxSRG9NZUhmUWZVK2Mz?= =?utf-8?B?SUJDRU14a0JrQ041NHpPQnVCQW1TY0RxaC9mTTNTZXNPdkgwVitvYjhvQ2pi?= =?utf-8?B?MzhMRWJhQXZRTlc4WndycWVPY1g2a0JxOGVNUWRDZzJFMGQ0WWtTcU40WjZn?= =?utf-8?B?bzZxWVQ1SXJXQjFvZTBDR29qNHFUaUlpR1hHaldiQ2lqRUFlb3V3YVEzRnRa?= =?utf-8?B?clBrSjBjV3lqOTF5WFR4UzJLQ29hUU5kNGYwNkNFOUZYQzVpZDRNNzVDckNk?= =?utf-8?B?ZENob2NLSGVFK1FLRitXY0FCUUlUVWRwczB1NDZ6elczazFndVYzbjhDVVMx?= =?utf-8?B?RGszSHBuVjh3cmttNUQ0Sk9qVXpRK2E3SnBEdDFHOFZhZUZDL2lqZDI3Z2Vs?= =?utf-8?B?MUpGRStOcEovTkx6bzl2QTFJcjlyNVd5V1ZMbzQ5cTEyL1NYWUkwYXBHcXJF?= =?utf-8?B?S3ZHZzg2bkJpQURMYlg2d0RONUF0NnloSitTczZSVzZoeTB4d0NOZHdLUTVH?= =?utf-8?Q?UmFEynmY?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dDl3NVBaUloxZzlPcFhiRkkzWE00MzJEdzljVTJCdkR5R28rMVdhNHQ3Mlcr?= =?utf-8?B?aFEyWGhzZnF5eVJHQXMyRllSZ0JKc0V5UFYrTXp6dUtycmNvV3NjY3dLcUZR?= =?utf-8?B?UGt0UFhGS2RSd2RNRnlxRjkwWDlUWW1qZXh3QTZmR3M5MFFGRkxteU9ta0pu?= =?utf-8?B?MVFvSmZ6Rjl6WS91c1hwYUtaUG9MR3pMOEphc0xmbTYzTExoZ29zUXZVbVlk?= =?utf-8?B?aTlvL3NCZFhaRHVpbUMrYWJiUGJ5RVhBNUZhOWxYY0xwNUtmNEZRaWNVRGtG?= =?utf-8?B?d1JMOHBmcnltU1FnMUlqMTE3dDZzUGVFeGVEOHVxakdpUTE5TmM2T2xJWS9B?= =?utf-8?B?THU5L1dTSWJuYkxjTHJGdktmcHZSSTJYOVZqZ1BybXIwZGdhaU5HNlEza29X?= =?utf-8?B?c1JLeXh2a3RjTWIwdUJzUEdQVGUzU0xwQnQ1RCtKcUpTODZYZzB3T2hOU2dr?= =?utf-8?B?TzMrMkJZdVZlZytoZVVSNWthYnhRbjNPKzE5aGVjL0Jkc1FoczhMbkRaTTZB?= =?utf-8?B?REFUNmpuRTNwNk41bUZySElJeHd6Mkora0tCUi9aN292TGdjZkJubVpIYk1Y?= =?utf-8?B?a0hDSnlKOUJLLzVsVEt0NjVqOWFaVGR6NTh6WkI1LzBualJjRDdkVyt6WU5S?= =?utf-8?B?TmNBWXdXY3F5L0kwbk9ienU0RXRnR3ZqaWlrZGd4bGVvZEhibVc2U1dWajFO?= =?utf-8?B?aEdjeGRrRS9DWVdjR2NuZHJYTEJZRkwvMGNaWkp5R2Y0dzQrWkg1NGt2SGp1?= =?utf-8?B?L3VZWXFtUlFoQkR0SHJCRkw4Rk1JZTFibW02emVmTFN3bGtyUlJaZExpd1lM?= =?utf-8?B?anVFSzNSaHFUWENheEc4bmZmOUtoWWhlSUJkTldTclMxNmd5VG5reFNsdjFV?= =?utf-8?B?aGJmWnBtcWJ1QjFSL1FuZFBPM1paOGhOYU1mQ0huc3ZBdEtpcXRNNGtIMnlZ?= =?utf-8?B?dDU1Q1pUMU5wMWo1RzU0V1RhTzlpZkZDMGpZb1dXUVpmNXBOMmkrTDJub0ZH?= =?utf-8?B?NTArR244NlFYZ3RCSjR6eEJ2L2NORFQ0Rm1Ld1pUeFB3dUZKdTdXanhlRkF4?= =?utf-8?B?eEFnWWdZckRnU0RDK0NhL1pZaXZPSnExdjRsUGNCWWdNWWo2M3huQUtSM2I3?= =?utf-8?B?L01mQXZCakdLR3BsaTJEbUQxdldCUFJrdnljRnNWd0VEbU9ZY1lsY0xoYnpm?= =?utf-8?B?Yk9pZS9mZDM2bklsa2twOFpTZzVPdWFYU1FXVjlJQmFYaDg5L3dnUGZJYXcw?= =?utf-8?B?K0hsL2hYV2tmdHlGekJHc2FBVGJvR21WaEpFRFRHOEV1TyszS3h4OXdUT0l3?= =?utf-8?B?YlVCeGdvUnBMdC9GbVJDdVBHV21BeVd5UVpyODIwNjhGSFVnN0dUc1Myb2Zi?= =?utf-8?B?QzdtUHJOc3lFRmY4QU4rS2xVSDVET3JFN0VPRitkb0JCWTFIbXNaM3VPZk5V?= =?utf-8?B?ZkIwWXZyNEovQUZyQlYvQjhTcktyMldIcW1hU0g3R1ZuK2Zrcy84ZjhuVHRN?= =?utf-8?B?S0Jvdlg1OXQ3U21Oc1hRcTZSbVNucEZBQkpSbGE5bWJKdlptOFU1cVl4VWp3?= =?utf-8?B?MVJLZm1vS1BYWGEvSXI1Y0JMTXpBZ3NWTVl3bFNJS2NILy83MTZtbW56MzB5?= =?utf-8?Q?UJGBffMWos72fdeW2nFn+HKBQlXyz2BRSn9UzPPRkVJg=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9a70cf68-fc07-46df-31da-08dd0e412832 X-MS-Exchange-CrossTenant-AuthSource: OSQPR04MB8060.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Nov 2024 17:38:37.0969 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: KL1PR0401MB6441 From: arokettu@outlook.com (Anton Smirnov) On 26/11/2024 18:10, Volodymyr Volynets wrote: > I have an idea which will save a lot of code. I am proposing to add": > > return when [condition], [return value]; > > This construct will remove a lot of ifs statements after method calls. > For example: > > $result = Class->method(); > if (!$result['success']) { > return $result; > } > > This becomes: > return when !$result['success'], $result; > > Any thoughts? Is there a language that uses a similar syntax? I don't find it readable. It also uses a new keyword (when) when you can reuse if I'd say, also comma does not look like a good separator here. Some alternatives could be: Perl&Ruby-like postfix if: return $result if (!$result['success']); or making return an expression that will allow us to do like this $result['success'] ?: return false; and match ($something) { 123 => do_stuff(), default => return false, } but they both can open an endless can of worms I'd say so I agree with Christoph that the current syntax is good enough Anton