Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:110711 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 66763 invoked from network); 24 Jun 2020 01:43:22 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 24 Jun 2020 01:43:22 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id A2F6C1804C2 for ; Tue, 23 Jun 2020 17:30: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=0.1 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS11403 64.147.123.0/24 X-Spam-Virus: No X-Envelope-From: Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com [64.147.123.25]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 23 Jun 2020 17:30:39 -0700 (PDT) Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id 8AC64469 for ; Tue, 23 Jun 2020 20:30:38 -0400 (EDT) Received: from imap26 ([10.202.2.76]) by compute7.internal (MEProxy); Tue, 23 Jun 2020 20:30:38 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-type:date:from:message-id :mime-version:subject:to:x-me-proxy:x-me-proxy:x-me-sender :x-me-sender:x-sasl-enc; s=fm3; bh=q049FQfI/OQZKhHJ2ObUz0V0ouKow Bc1/wxXhHfFRKI=; b=cVFroVgJnzQbG+kvISzU+IDVXPmTU0nfikBOy/znE2+vx esVO6GAGwvltJJdWQJTTflcXnVyRm/9mgznDvf40MTpSKvIpuOv3i6+SImdvAGHu kJI7Q7CEmo9hd5JaqURax+vba8W7Vv53IbZNf+zbyNJHlhBcRAA0HHK0CwzfrZbd /xD0u2xoAQg/0sfoNpuYuDl+VdVYUszVsgYKz3CCcwW+CN3FW9AULLh4GwaBv+J6 vSi3Ougz6cfXLPWrheiKc6D5JvTfg82wZYroWFI7geUn1Aie38CQuKRDrjqe3PHZ SoYZLVxKS40kY4tHWHt+LIi5PTeQsdIr8evzSlN4g== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrudekiedgfeegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkfffhvffutgesthdtredtreertdenucfhrhhomhepfdfnrghrrhih ucfirghrfhhivghlugdfuceolhgrrhhrhiesghgrrhhfihgvlhguthgvtghhrdgtohhmqe enucggtffrrghtthgvrhhnpeegheffiefhtdekfeevffeuieeihfejudfhuefhtdetleel hfdvjeetkefggfeuieenucffohhmrghinhepphhhphdrnhgvthenucevlhhushhtvghruf hiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehlrghrrhihsehgrghrfhhivghl ughtvggthhdrtghomh X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 9277F14200A2; Tue, 23 Jun 2020 20:30:37 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.3.0-dev0-543-gda70334-fm-20200618.004-gda703345 Mime-Version: 1.0 Message-ID: <0771c3ac-53ec-4a7f-a4e9-6ae3c9b1f1f6@www.fastmail.com> Date: Tue, 23 Jun 2020 19:30:02 -0500 To: "php internals" Content-Type: text/plain Subject: [RFC] \PHP namespace usage heuristics From: larry@garfieldtech.com ("Larry Garfield") Greetings, Internalians. There has been much talk of the \PHP namespace of late, including one unsuccessful RFC. In the discussion, the pushback broke down into two main camps: * We should never namespace anything ever. * We can namespace things but we need something more concrete than "RFCs can namespace things if they feel like it." I can't do much about the former, but the latter is a solvable problem. To that end, Mark Randall and I have put together a new RFC on the topic, based on a fruitful discussion in Room 11 a few weeks ago to brainstorm what actual guidelines should be for what goes where. https://wiki.php.net/rfc/php_namespace_policy This proposal provides guidance to short circuit future subjective bikeshedding, while still leaving some wiggle room for case-by-case evaluation as needed. That makes it different from prior attempts that did not provide clear guidance for future RFC authors. The specific guidelines offered may or may not appeal to you; those are open to discussion (within reason; we don't want to end up back in "do whatever" land as we know that won't help), but the more important point is that clear guidelines are provided. Also of note, although it uses existing code to demonstrate where classes *would* go under this plan it does not immediately move anything. Those are left for future RFCs that would have to stand or fall on their own merit. It also provides for a very long grace period for any such transitions to minimize disruption. The intent is to bring this proposal to a vote in time for 8.0's freeze one way or another, even though it's unlikely to have any impact on 8.0 itself. It's still a convenient deadline. *dons flame retardant suit* -- Larry Garfield larry@garfieldtech.com