Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:110268 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 69324 invoked from network); 23 May 2020 16:16:44 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 23 May 2020 16:16:44 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id B5FF81804E0 for ; Sat, 23 May 2020 07:56:09 -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.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (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 ; Sat, 23 May 2020 07:56:09 -0700 (PDT) Received: by mail-wr1-f51.google.com with SMTP id x14so7747491wrp.2 for ; Sat, 23 May 2020 07:56:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=Rszp2yao9kk15lNWGxqEdBnHOwns1CHQTfaZHFSAcSs=; b=BZsI+1rKlSwbzYJ2l/hRMWAkqHoyMT4/Im76WmCCu83Le5gR8uqXdRKF0YcUEGfqf8 27jskpnSIYwWS79b1P3eWZalb3P+sPg6T5lKAnOcBkG9+ukJ2B7kSpyoNJ+Cy+0YmboF FN/aVSdzqeUFn2t8x5G4kNTeUonmUgmXwYfOcsTGVcO3YMpJB1av96QoX53Z7jVh7hCw YiuDHSO+OaFl9aqZR0UQVF9FVqRb/EKTHkV4wV21FI2+q49HIkcyv3OPlP0pXE2lOapq R76We+JbAPVhqLSZCcYRu8T/01Dux6bnfI9EVxq136GMvl2k8ng/lxmGq0rju4uXUAfl 3yxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=Rszp2yao9kk15lNWGxqEdBnHOwns1CHQTfaZHFSAcSs=; b=RIPKDhlII6bBdoxruYzyjScGK0DhoAy8SxsgIpW1RptYuL//veaD/vIIv6iWeV4k7M S0iPAWRpDMEpc1QiwDo6N1q6At5lkTRr3M4ProoMrnMXN2qkjKAc3L99ZwHEaWJUakG6 Xa27ATbc5WV2MjfBJK0aerV0Ag/RWFucrT5sdyGxI3hrWYkLABDyWMaIWzh4Ki1gBAf0 YIEWuvIqbFIuoDyK56JBCvvzxkrSIU1nvde7W0mEh1ilIaYCe6cfS7taT06Ld8mYbO5O V5TLkBky+qcSUofqLzFZ7nwKf0Xp1/sTqfkCBMGAQrqqIzO/wva8bPs8FgODauw5JKC7 WMIA== X-Gm-Message-State: AOAM531jLpTxEUEvGtuEUO+da90nw0cQi4aIB7wr6Ps8kqhg2Ksv9FCM 8QDhdnkhbMWSDL0+gxSH76+W8yLm X-Google-Smtp-Source: ABdhPJzog8Z3/fta5DWvxNk9FHQe+1EVPiu6UntHnGS5AuehyXWvJyn39Z3mX79aIfOjo/h8myNMsQ== X-Received: by 2002:a5d:4390:: with SMTP id i16mr4820836wrq.186.1590245767774; Sat, 23 May 2020 07:56:07 -0700 (PDT) Received: from [192.168.0.14] (cpc84253-brig22-2-0-cust114.3-3.cable.virginm.net. [81.108.141.115]) by smtp.googlemail.com with ESMTPSA id x24sm13050708wrd.51.2020.05.23.07.56.06 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 23 May 2020 07:56:07 -0700 (PDT) To: internals@lists.php.net References: Message-ID: Date: Sat, 23 May 2020 15:56:06 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-GB Subject: Re: [PHP-DEV] [RFC] Amendments to Attributes From: rowan.collins@gmail.com (Rowan Tommins) On 22/05/2020 12:08, Nikita Popov wrote: > As such, I would suggest to introduce a common namespace for all attributes > provided by PHP. This means we'd have Attributes\Attribute, > Attributes\Deprecated, Attributes\Jit, Attributes\NoJit etc. (I'm also okay > with the PHP\Attributes\Deprecated variant, but that's a separate question). One possible policy which came up in chat last night was that universal base classes (which tend to be few in number, and act almost as keywords) should be in the root namespace; but built-in implementations of those (at the same level as ones users could create) are prefixed with "PHP\Something\". For instance, if we had a time machine and were adding them all now: - "\Throwable" and "\Exception", but "\PHP\Exceptions\RuntimeException" - "\Iterator" but "\PHP\Iterators\FilterIterator" - "\Attribute", but "\PHP\Attributes\Deprecated" Regards, -- Rowan Tommins (né Collins) [IMSoP]