Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:114392 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 61411 invoked from network); 11 May 2021 14:37:45 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 11 May 2021 14:37:45 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id EFB191804F4 for ; Tue, 11 May 2021 07:45:32 -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=-1.5 required=5.0 tests=BAYES_00,KHOP_HELO_FCRDNS, SPF_HELO_NONE,SPF_NONE,UNPARSEABLE_RELAY autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from processus.org (ns366368.ip-94-23-14.eu [94.23.14.201]) (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 ; Tue, 11 May 2021 07:45:32 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by processus.org (Postfix) with ESMTPA id 1EC5E5101324; Tue, 11 May 2021 14:45:30 +0000 (UTC) To: Chase Peeler , Sara Golemon Cc: =?UTF-8?Q?Mat=c4=abss_Treinis?= , Nikita Popov , PHP internals References: <1620635361.9147.0@gmail.com> <1620728274.110454.3@gmail.com> Message-ID: Date: Tue, 11 May 2021 16:45:29 +0200 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Authentication-Results: processus.org; auth=pass smtp.auth=pierre-php@processus.org smtp.mailfrom=pierre-php@processus.org X-Spamd-Bar: / Subject: Re: [PHP-DEV] [RFC][Draft] Body-less __construct From: pierre-php@processus.org (Pierre) Le 11/05/2021 à 16:39, Chase Peeler a écrit : > I agree. I think making things inconsistent between constructors and other > methods is something that can be lived with - there are already other > things special about constructors that don't apply to other methods - but > we should at least allow consistency among constructors and allow the > trailing semicolon in all cases. As Sara stated, the example of the singleton final constructor is a good one, but another one I could think about which applies to *all methods* is when implementing an interface, you may want to keep some of the implemented methods just empty. Why not applying the semicolon syntax as well for all methods ? It doesn't seem like bad idea to me, I often write empty methods when implementing the null object pattern, or when I have partial implementations for specific use case, or just when I don't need to implement an abstract or interface method. I'm all in for consistency between constructor and all methods and allow the semicolon to replace any empty method body. Regards, Pierre