Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:111425 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 56587 invoked from network); 10 Aug 2020 14:09:30 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 10 Aug 2020 14:09:30 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 79BD4180511 for ; Mon, 10 Aug 2020 06:08:40 -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.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2, SPF_HELO_NONE,SPF_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (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, 10 Aug 2020 06:08:39 -0700 (PDT) Received: by mail-wm1-f47.google.com with SMTP id x5so7581873wmi.2 for ; Mon, 10 Aug 2020 06:08:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=beberlei-de.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=EiSfxdAvoKTWQ6ylGI2aKA6aoXNbkOCczEo9esDxlAw=; b=j9RWW5kwp6Hcy5WUSg/j3+KG/nmO73m7jLWAYlk2r15YlFmuoZ6iq1CYiQ3Km+yEaM gFoeuQCiHGvGhZy9VjL+PF1fP8xIMBCPlJvPEgq388QshAl/DOJg142GJv952mVA3BUX opEc5Kg7C17r+7+I1ZDzbZwtOp5w79G8YZ/j6kOnwJZ7St4jKUHC0iJwEH5HPemHT1w+ 1VWcf6vyYLNnu2OjXYYH1cj/VAh8k4lQ9g6fNPSk8mCcPaXgLtl2g3Zf0Yt7PW+8qRUk L2oFjJzKXNZ773gAcJWLMK4n4bEYcd6Vnc+Pnz4sBMKtzakQy1cGaG/P8zMsTobpyHOp fm5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=EiSfxdAvoKTWQ6ylGI2aKA6aoXNbkOCczEo9esDxlAw=; b=R7sNzEDd0y8SwYhvjheKI2GkbNuCFEdNYqSJqkwD4pQ/k14P0t3vdKp/me1WuMOefy 5Wix3xnVu+v3+b5WsGNFP6FdAbQ36tSkOhMysKz8cm5VKWgSAudb8mqZAk2LUXjbJhsN xbs9bW7ck9lmfL96RCWzrBSxfgEla4rX9XGkBaagQuSJZ/Hy8tzhKqpBJpvKYZBc/abY 7ybBTkJCoHxoX1M065J7Eky8WxmbnJbOQ2qs+gFCwoIIHEDiAFwRpQ3JKHvCs2HeKCiN l1di9GIzhdFAQgbslp78RBY88CLskYJ35Eb3CtdDqkVWTrOBuHrw0xLwSXkvrMeLnbCx bBFQ== X-Gm-Message-State: AOAM533QtTEHFYTV9X//HTK1WEd+SGdxG4Or8K99iLbnQoeOR5vrsu+p CSG2XVzD9o/qG6jwI3FMNFA3PymgKroJzcHMlv644Q== X-Google-Smtp-Source: ABdhPJxhINn8D7/uHdusojWWg+tzXCebzqubhRbum0R+4j5YgYrsllFztcJkGwXl2fnlUAacZF/hCwtfSSVyWy1u4MA= X-Received: by 2002:a7b:c40b:: with SMTP id k11mr25373546wmi.107.1597064917193; Mon, 10 Aug 2020 06:08:37 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Mon, 10 Aug 2020 15:08:26 +0200 Message-ID: To: Peter Bowyer Cc: Rowan Tommins , PHP Developers Mailing List Content-Type: multipart/alternative; boundary="00000000000012ae7205ac85a7ab" Subject: Re: [PHP-DEV] [VOTE] Shorter Attribute Syntax Change From: kontakt@beberlei.de (Benjamin Eberlei) --00000000000012ae7205ac85a7ab Content-Type: text/plain; charset="UTF-8" On Mon, Aug 10, 2020 at 11:28 AM Peter Bowyer wrote: > On Mon, 10 Aug 2020 at 10:15, Rowan Tommins > wrote: > > > I am not a fan of the @@ syntax, and respect what you're trying to do > with > > this RFC, but am disappointed you haven't engaged with those of us who > said > > that the RFC needs more detail. There is simply not enough information in > > that table to "have an objective look", and the only other text in the > RFC > > makes a vague assertion about the lack of ending symbol which I still > don't > > understand the significance of. > > > > I have voted no because I asked a question about the ending delimiter and > why () didn't count. Another person asked a similar question and neither of > us got a reply. > () does not count as ending symbol, because it is not required, as such its not an ending symbol. The point Andreas Leathley makes in the discussion thread about new Foo not having an end symbol demonstrates exactly the opposite point he was trying to make, because the new statement itself has to end with a semicolon: new Foo(); new Foo; A statement has an ending symbol semicolon. Yes you can argue an attribute is metadata like "public" or "static" and they don't have start and ending symbols either. But they are also *single* words without special chars, as such much easier to distinguish. The difference is also apparent in another fact: Visibility keywords are just boolean flags on Reflection, Attributes have their own Reflection object, they represent much more. They shouldn't be mixed up with keywords. PHP is a language where most language constructs have ending delimiters. - Statements end in Semicolon - Function/Class/Method declarations end with a block closed by } - Argument lists end with ) - Docblocks end with */ - Comments always end with EOL (the distinction here being its a single end symbol, not ambiguous) As such for language consistency it would be better for Attributes to be enclosed by syntax, having a start **and* and ending symbol. > Peter > --00000000000012ae7205ac85a7ab--