Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:113955 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 76871 invoked from network); 5 Apr 2021 17:14:10 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 5 Apr 2021 17:14:10 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id E93361804B3 for ; Mon, 5 Apr 2021 10:12:58 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,NICE_REPLY_A, RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mout.gmx.net (mout.gmx.net [212.227.17.20]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 5 Apr 2021 10:12:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1617642767; bh=BYJ2I+vIM2coCb7/khzp6ScbiW0VtTM6eHM35OSXaUY=; h=X-UI-Sender-Class:Subject:To:References:From:Date:In-Reply-To; b=LjfHymk+gJiQy4UuX5eXm8IYcDdHiLIJWHqG9B7Ne7by8bjDmXPBv9ArLu/TvPjq+ CPPjbyO0Fh5CeBnLd3FqL/riF1MWV3ppxZyiYid700wXE0MjFtl3LBqe2fCrFsVTMS OQNv5H6TWTood0FcPLEkvKpjMps4B66jr9EfKZPg= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from [192.168.2.130] ([84.179.224.134]) by mail.gmx.net (mrgmx105 [212.227.17.168]) with ESMTPSA (Nemesis) id 1ML9yc-1lBFRE3lJ4-00IAM3; Mon, 05 Apr 2021 19:12:46 +0200 To: =?UTF-8?B?QW5kcsOpIEjDpG5zZWw=?= , internals@lists.php.net References: <0b8301d72a3a$71045ca0$530d15e0$@webkr.de> Message-ID: <0463c632-8260-bc8b-920e-4a9214421311@gmx.de> Date: Mon, 5 Apr 2021 19:12:46 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.9.0 MIME-Version: 1.0 In-Reply-To: <0b8301d72a3a$71045ca0$530d15e0$@webkr.de> Content-Type: text/plain; charset=utf-8 Content-Language: de-DE Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:j9m/RnP02jf97RFfmwIWq68J1Ti3NoQynSYSe4NR5UN5iMu2xe2 pM5jUpL9pUqrrDFpXBkLCDWZTSLH2yg5lSDctR+6EhzdBuMKQK7GqsA7MHs3+7pK2yB+jOv gMHf7P8VDiYQolbz1W+DBYoiTqbs3ovFq63g1P66w8MyrlFQcmuAfHiYkhSDuzWHiRlkRxa kbr0+qt2B5M0ccFlYZtsQ== X-UI-Out-Filterresults: notjunk:1;V03:K0:b9iiqzKpnI8=:B3GzPiSzvQGDp1/qbJ06sN xsf1TIqe3lqisbjM5zOCfdAtt3G8HbrqYaTO/8zX0+OeM9S+FLW638Bf1tHJYksWVWJQ+z/wd De8GlErDtcKBb06UZ6wEEtTfgPpsmj4nuj9gTWz306pbAlSOsr85KYhj2DQgOq1oFSAkZzQgW uzJY/98KiAaoYur1xahMtYYsCUoA0KOjUtNBdMkTWh751QDmzXsZGAISHGAZY+8QJdFAIkQn5 EZeTK4dMsu3fKLyXDBSgw9uCsvkxrlcKhar4y69+Okw6U/ZALmCl3aAp3iOdVfJaR8qdwFw7x DV8E+qZsIK2yJ0DTNTAqr3pNgwVcYcpAhwNXtK3Z5r4S+bGr166v1q0Bqof81hUsEjqBjHCXK 3VzcQJYjCsI/TfBEO+1ahLNeuzhEY16cHtgU4/J2pIHVTFq3oWKxpciAuT8VMuwtnBZme7lYx IvsqCb/SCJA1e7eteD3fB5MIf91rnkErEsuGPvC4vy5Uub7PaBBV1h3LANfci5RjG2CcVyW/7 WFm+AudrwBBjv7aAv8Hjz1cIMXBXot7GIx0gWEfAXKEytiY2Ac9E90zOYGhJEgaPwMC7V6hZj cc5XOiKTL9ih/csMSr94keC/Rku6AmFFpzNoOcLL3d8IyLVXk5RXPHPob0YlfeBnKnYhvF3LF fLAPzHcQQPlwcY11alR9cwHuBUWsImq+dtbmuCH2NrJMfUoBP9XvsIndH/egyrkpvczo4Qp3p PHmmNseaEIDFsCK+/r4mT9fTm4TXucE+lprxoKBbXa10y075aMjHJmXTx3oUZE0PrhUlLQFLs tm3fONrbOJUe3GFhjX0T4Oyyt2vymjktnRO37yUmeO18RMR3NQfut2vzQJX3EETxZ1jJvcjEv sXqgOwpxHvg3k5OCPkjsb9EwUaw+N3A0nEjaQ14NhCFQqISsAZ0g4Bzo/VUGsqKs2CPdCLoqk /03ujq0cvqwwEPPbNlIx5A77igUuve2bGBN6FQARqKtKqqPQh5UYiyTvzWuflTTUJyC7ylFHY utX54LVDBGG25T57yhE7zQlsNwQX2XjQDq7YDM4XbdixxB2gBDWHEf+R787aYzOSlUboGG+Ti M3mmx2CBjXvKrJHL3jqR7OJgCDzW4M0PBP4Ayd6eTvwXXCJa2G4xL478TIZy4YpGQrYqyT9YE /blzWwY4pUZZaiMfFrPZs7d6G10/UsXMsWqrbSl4k+TklK2GAQzDPyp8Zl3c9Tu7vRdLE= Subject: Re: Raising the precedence of the new operator From: cmbecker69@gmx.de ("Christoph M. Becker") On 05.04.2021 at 18:40, Andr=C3=A9 H=C3=A4nsel wrote: > I was wondering... PHP is the only language I know of where you have to > write `(new Foo())->bar()` instead of > `new Foo()->bar()`. This is particularly apparent with the builder patte= rn: > > $developer->drink((new Coffee())->withCream()->withSugar()); > $logger->log((new LogMessage())->withMessage('Coffee was drunk')); > > Since `new Foo()->bar()` cannot (and probably should not) be used to > "dynamically instantiate a new thing of the class > name returned by function Foo()", it seems like it would be no problem t= o > change the precedence rules so that > `new Foo()->bar()` means "instantiate a new Foo and call bar() on it". > > It's currently a syntax error, so allowing it would be automatically > compatible. > > Has this ever been discussed before? See . =2D- Christoph M. Becker