Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:109741 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 49871 invoked from network); 21 Apr 2020 08:59:59 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 21 Apr 2020 08:59:59 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id B57391801FD for ; Tue, 21 Apr 2020 00:31:21 -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,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,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-oo1-f50.google.com (mail-oo1-f50.google.com [209.85.161.50]) (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, 21 Apr 2020 00:31:20 -0700 (PDT) Received: by mail-oo1-f50.google.com with SMTP id t3so2702589oou.8 for ; Tue, 21 Apr 2020 00:31:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=cNGsCM8iBrsIJpXWn0O5Gs46/jYe3B7Ecqb7wC5Niw4=; b=ibaJL4lvgNZm85xaC01NUSq9G94Yw9q0N/yEOSbDwYRfEGJnuV03EQ2vYqo91VbrD5 y0Bl9i/0uAmhiJuc9FDJn1cvIflORg6UhR4IK2OZ3h9u5IywGJeoqoGudlL9jKZf3Cjh X3lub+mU9l4z8zd9OmbMmYg5zm/kzAtmuylUMRLc1ACGKH9p2ZFhq3bLbsp4KlTnnxpZ US44QBm5g4ZrVeQa3j/KF1gxBbx118N74CpO+rsMYVjEsceBiDxIFbHLnYr10LDlfwlD QmKS1fpenAVkYLrOeoR58hTVHme60gU42P/nfCSuwNGb3MwVBPB6bkgMTR2s6PNBSIMQ 4Gow== 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=cNGsCM8iBrsIJpXWn0O5Gs46/jYe3B7Ecqb7wC5Niw4=; b=O+aeWtuN/BUvSgjZD1tus/EbuH4DfWnaGKhVm5hzWae9fXt8asWrMII4ABJN0ZpdFL n9Frf16RXDRmogdIyoEqTh1lAZKzY2OXpwIU/+TTZB5vMgHdI5QKMxr/rSmh4RBpADJw gboqpomhP9TDJrqoaHKZFgNpbjKYuRbCAq4gwef/yMjMnJ8vaJcDFfF6TFrw4UdHUF39 InUyfbaZzB8cdCYHdXO2PgGxa+FYaMWua3xIzHuPIwV6Mtct9+b3ol9qQ4xYc2+LAHE4 vzfe5en/W5rPDPHYMgORgYyvfeCawS4zbUnDPbNAL7csFB1spdsa9xTmOJTjAlBZPAVW 3piQ== X-Gm-Message-State: AGi0PubSuiRxpZ9yy3V3RNTGMmPB9ZQUmmwNvWLXoUW1v6ZO1YlHEeAD FmkGOsiijc9oA9ppXh2NG/fpS1icvWNWCl7dTc8= X-Google-Smtp-Source: APiQypJkMhChuXnANyuivgrmI1NuUIP1aRHgSN/DbQ3VAeUrj2yq4e9OMxNAwMde1dW/RfIXB2542/i/BVdXlXCQC2o= X-Received: by 2002:a4a:df51:: with SMTP id j17mr14316116oou.57.1587454278110; Tue, 21 Apr 2020 00:31:18 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: Date: Tue, 21 Apr 2020 09:31:06 +0200 Message-ID: To: Benjamin Eberlei Cc: PHP Internals List Content-Type: multipart/alternative; boundary="00000000000058124e05a3c80048" Subject: Re: [PHP-DEV] [RFC][DISCUSSION] PHP Namespace in core From: michal.brzuchalski@gmail.com (=?UTF-8?Q?Micha=C5=82_Brzuchalski?=) --00000000000058124e05a3c80048 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi Benjamin, pon., 20 kwi 2020 o 14:06 Benjamin Eberlei napisa=C5= =82(a): > Hi Micha=C5=82, George, > > On Wed, Apr 15, 2020 at 2:29 PM Micha=C5=82 Brzuchalski < > michal.brzuchalski@gmail.com> wrote: > >> Hi internals, >> >> I hope you're doing well. >> >> I'd like to announce the PHP Namespace in core RFC for discussion. >> The RFC is authored by me together with George Peter Banyard and it's >> purpose >> is nothing more like to allow the use of PHP Namespace in the core. >> >> The RFC is described at https://wiki.php.net/rfc/php-namespace-in-core > > > I think the php namespace for core is important to have, especially for > features that have more than a single, but multiple classes, grouping the= m > in a PHP internal namespace will be helpful to avoid weird prefixing. > > With the Attributes RFC in mind, an earlier draft has used the namespace > PHP\Attributes that a few contributors rightly mentioned is a bad idea > without project wide standardization first. > > For my taste, the RFC is great except the "A chance to clean up poor > design/naming decisions" section. It goes into politics and controversial > ideas that essentially are outside the scope of the RFC itself. So while > SPL and Reflection would benefit if we had the namespace before those API= s, > I am not sure they drive down the point of why we need this: > > a.) Instead of changing SPL I believe most would pretty much agree that w= e > just need a complete replacement with a better API (pointing towards phpd= s > here might be a better example) > b.) Moving some new parts of Reflection into the namespace while keeping > others in the main namespace is extremely confusing, and we shouldn't > confuse users that way. Realistically this is an issue thats not going to > be changed. > > I do like the Frame example, similar to token_get_all returning an array, > debug_backtrace could benefit from an object based representation. I woul= d > reluctantly call it a "toy example", it is an actual example or not? > The example with the Frame is something I'm thinking about to propose and implement. About the changing SPL. Bear in mind that the current proposal is only about an agreement to allow the use of PHP namespace in the core. @Benjamin: You suggest to skip the examples and arguments regarding poor design/naming decisions with Reflection API ? Those examples are put in the RFC to help understand the argumentation and the result of this RFC should be the agreement that any future RFC proposing an introduction of the tightly coupled with the PHP engine symbol (and to mention the ones with PhpToken and PhpAttribute and family could be perfect candidates) should not worry for the proposal to be rejected because of the use of PHP namespace in core symbols. BR, Micha=C5=82 Brzuchalski --00000000000058124e05a3c80048--