Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:125411 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by qa.php.net (Postfix) with ESMTPS id E6D3B1A00BD for ; Tue, 3 Sep 2024 21:47:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1725400184; bh=K7GBpw6nSqlv2nD1+84e5oaO4eA5g5xJg1J1FiUVL4Q=; h=Date:From:To:In-Reply-To:References:Subject:From; b=f+4CzxEaEeOdEUYCCZCms/2NkK0reHv3luxanPz4PwrDi29tStbp++TMfjNiccF96 9dPuew1JneWmFWLPR8ycU0YZs5/GK6A8y0nMzh/Psd1HfT96MTDSdQ3+FwJhGFQvFc qe4JA/kBYLv9De9z64phUSMd9baRcGbCzuRoxUqG+wkjhbIfZddyosB+fa0lhvSIWf OUcB3jKlMfpq5nhaiDGfhc1LNcIvcGofs835noWKwSy3/4G+mmP0Y9wlcb0pomh9zE F5LnaMcCVz/9Z+lUNEe3YNjGGezOyr5XAuZ2ZuLNwpVws6CN/Xi9rYDyYaEHwQferu RsifkHctSLqjw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id EFD5D18007A for ; Tue, 3 Sep 2024 21:49:42 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-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,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,HTML_MESSAGE, RCVD_IN_DNSWL_LOW,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from pfhigh7-smtp.messagingengine.com (fhigh7-smtp.messagingengine.com [103.168.172.158]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 3 Sep 2024 21:49:42 +0000 (UTC) Received: from phl-compute-03.internal (phl-compute-03.phl.internal [10.202.2.43]) by mailfhigh.phl.internal (Postfix) with ESMTP id 7073F114046A for ; Tue, 3 Sep 2024 17:47:44 -0400 (EDT) Received: from phl-imap-09 ([10.202.2.99]) by phl-compute-03.internal (MEProxy); Tue, 03 Sep 2024 17:47:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bottled.codes; h=cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm2; t=1725400064; x=1725486464; bh=R4dayWJgX3 cBMkE0mL4U0iFo5N1yiud7tNdoR+aZN40=; b=Vo9S+UMI42kJJ5EysjH0kyw6Ci E8PrhAegntmUVd5AS7aB0Avc+6cjy+l8CZocEZyGwFSpuHByVQGkHLAvoDcn3aVe sD8A8EASj2wDovtR1w7WoPqg6JxZi7S0Qrc+yrx174yKHX0uFf1rHA3gD7RvqGwR WkkSbHaNneMysS/VREobit7TwfCmoR7mFcfHDCBM8AXaA9gvvO+9E93GV6MazNM/ KGQ3jiUtyZ0qOQok0QuR+6NBwLpIX+bY68KDKvVS+hNUnFqd4tcId46Mp+TBRe7Y GKEL/0dm1rHt/EtHrVvquoy97QANnWK8fqTMYpKuApQR9o6XcZhV6Pr+fnFg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm1; t=1725400064; x=1725486464; bh=R4dayWJgX3cBMkE0mL4U0iFo5N1y iud7tNdoR+aZN40=; b=WgUuYkEzOjgVWmgCkaF8fBbKH8wPMiBZJEZuMQNtpYDU Os489dae1v95StLqZLxNTN49pV4gcVw0FJlq8RrQGyHTxYu2Wg1eSxtZBJbdb95y VOJSvlVNScguaUmUDY60Gkflo1q1prU9uCi/uclJ9RtEZeczQ16I6vSInAEdXZc9 GGw/j9myd0w0aPgopsPSJ/8U/JKlrLVSiUeHaNGAy1wJu1vupnMOxnXIE8/ATpLI bgJ37NVr07AP1ufxEJSEZZZxGp9+yf4M96X2DSyjczP35TDoRmeTKRCgPvkugKNh aOiBfXJrhCmU/HLa7PGDBXMxpgyggRJCRVWFW6iVeA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudehiedgtdduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefoggffhf fvkfgjfhfutgesrgdtreerredtjeenucfhrhhomhepfdftohgsucfnrghnuggvrhhsfdcu oehrohgssegsohhtthhlvggurdgtohguvghsqeenucggtffrrghtthgvrhhnpeelkeehtd fgfefhleeilefggeeihfekvdelfeejtdfflefhheehfffgudetuddutdenucffohhmrghi nhepphhhphdrnhgvthenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih hlfhhrohhmpehrohgssegsohhtthhlvggurdgtohguvghspdhnsggprhgtphhtthhopedu pdhmohguvgepshhmthhpohhuthdprhgtphhtthhopehinhhtvghrnhgrlhhssehlihhsth hsrdhphhhprdhnvght X-ME-Proxy: Feedback-ID: ifab94697:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id 0367C780067; Tue, 3 Sep 2024 17:47:44 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Date: Tue, 03 Sep 2024 23:44:51 +0200 To: internals@lists.php.net Message-ID: In-Reply-To: <2716f729-4008-4f75-8412-861d8960b746@app.fastmail.com> References: <2716f729-4008-4f75-8412-861d8960b746@app.fastmail.com> Subject: Re: [PHP-DEV] function autoloading v4 RFC Content-Type: multipart/alternative; boundary=cf37833f06c446d08ea1ed533dfe303b From: rob@bottled.codes ("Rob Landers") --cf37833f06c446d08ea1ed533dfe303b Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Thu, Aug 15, 2024, at 17:22, Rob Landers wrote: > Hello internals, >=20 > I've decided to attempt an RFC for function autoloading. After reading= hundreds of ancient (and recent) emails relating to the topic along wit= h several abandoned RFCs from the past, and after much review, I've deci= ded to put forth a variation of a previous RFC, as it seemed the least a= mbitious and the most likely to work: >=20 > https://wiki.php.net/rfc/function_autoloading4 >=20 > Please let me know what you think. An implementation should be along b= efore opening it for a vote (now that I realize how important that is). >=20 > =E2=80=94 Rob Hello internals, I've updated the RFC text and clarified some language (hopefully) while = also addressing a number of concerns. 1. I've removed the BC break=E2=80=94the 'type' of the autoloadee will= not be passed to the autoloader. This can allow someone to use spl_auto= load for function autoloading if they so desire. 2. I've removed artificial restrictions on the constants in which all f= unctions that take them can accept both at the same time and behave appr= opriately. 3. I've performed multiple benchmarks on several projects (WordPress, S= ymfony, and others from techempower) and couldn't detect a statistically= significant performance difference with this feature in multiple config= urations. 4. Some simplified aspects of Gina's implementation for core autoloadin= g were integrated into the patch. However, I see that RFC as a general r= efactoring of the API more than function autoloading. This RFC is strict= ly about function autoloading while being very conservative with the aut= oloading API. While minor issues in the PR are still being worked on, I plan to open t= he vote next Wednesday, September 11th 2024, barring any significant pus= hback or objections. =E2=80=94 Rob --cf37833f06c446d08ea1ed533dfe303b Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable
On Thu= , Aug 15, 2024, at 17:22, Rob Landers wrote:
Hello internals,

I've decided to attempt an RFC for fun= ction autoloading. After reading hundreds of ancient (and recent) emails= relating to the topic along with several abandoned RFCs from the past, = and after much review, I've decided to put forth a variation of a previo= us RFC, as it seemed the least ambitious and the most likely to work:


Please let me know what you think. An= implementation should be along before opening it for a vote (now that I= realize how important that is).

=E2=80=94 Rob
=
Hello internals,

I've = updated the RFC text and clarified some language (hopefully) while also = addressing a number of concerns.
  1.  I'v= e removed the BC break=E2=80=94the 'type' of the autoloadee will not be = passed to the autoloader. This can allow someone to use spl_autoload for= function autoloading if they so desire.
  2. I've r= emoved artificial restrictions on the constants in which all functions t= hat take them can accept both at the same time and behave appropriately.=
  3. I've performed multiple benchmarks on several = projects (WordPress, Symfony, and others from techempower) and couldn't = detect a statistically significant performance difference with this feat= ure in multiple configurations.
  4. Some simplified= aspects of Gina's implementation for core autoloading were integrated i= nto the patch. However, I see that RFC as a general refactoring of the A= PI more than function autoloading. This RFC is strictly about function a= utoloading while being very conservative with the autoloading API.
While minor issues in the PR are still being worked = on, I plan to open the vote next Wednesday, September 11th 2024, barring= any significant pushback or objections.

=E2=80=94 Rob
--cf37833f06c446d08ea1ed533dfe303b--