Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124369 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 DEE6A1A00B7 for ; Wed, 10 Jul 2024 19:29:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1720639852; bh=QwP0vt83ZuHqYWbYl1G9C18HK8T0XgnWUABxPT/kvyU=; h=Date:From:To:Subject:In-Reply-To:References:From; b=gIyFwzJOW7kqdHHxaKea+ydxpfS23rgJMBaWByESzl6kciik20UzSKWdALxw+dqsv L8MIigzZlOK1Dm8fUAPbgEZ1WWOp9aDD4c9FsPk/ranwemPYdmQLlkfMEF8URTJ3Cf ApF7jITpNlQf0ECyl9OssSFXEaxi3LaoFmqLrbRK0UnABCx7Qm6FPPbsRB6BMpjLmT yXJvZcei9IvsN6FpCSXFfVXJJ5lWi5C6bGenMx8NR7UyRUezfNa0G9d5UkrV0ho0RN GEp2tGjH9JicFiVkC7lK5BmQstPtO93CzeacQKuOaqhvQ55g3CdHB4+jym3D2X7XSe avTD9ZoShRXGQ== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 7423F1805E3 for ; Wed, 10 Jul 2024 19:30:51 +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,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from fhigh7-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 ; Wed, 10 Jul 2024 19:30:50 +0000 (UTC) Received: from compute2.internal (compute2.nyi.internal [10.202.2.46]) by mailfhigh.nyi.internal (Postfix) with ESMTP id 7246A1140C52 for ; Wed, 10 Jul 2024 15:29:24 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute2.internal (MEProxy); Wed, 10 Jul 2024 15:29:24 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rwec.co.uk; h=cc :content-transfer-encoding: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=1720639764; x=1720726164; bh=QwP0vt83ZuHqYWbYl1G9C18HK8T0XgnWUABxPT/kvyU=; b= jppHx7zjIPQS6H8XuvwKcl1AHDtztKr6qj1WWeLn4V+SAT8xhpbQ7tuJgK+B0jog npdV8kZopdKJ5M5+IjamaRLc0+obx+xHv5dOvNko30ILasaK0M0wJmvU0WG9fGWK o2/pXCm8MtPAG2PCrkgZqTzx6H+ku3CeDhYfhMEI/m+7Jl5q5k1GJzzcuqXA5ADE CFfWRp/KAvPcy9KjnK6kuwFxckyyTI6vVFgh8qjcni8MwhbQQPzLu0jvNc75hFNg 5BhnwVe8GVJGt7olMo5IjqC4KNQs0SS15f6OLAnM/RCw9pPyivp2As4+hQonQxS3 d6WciAU75+j++Xdyn2whoA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding: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=fm2; t=1720639764; x= 1720726164; bh=QwP0vt83ZuHqYWbYl1G9C18HK8T0XgnWUABxPT/kvyU=; b=Z 7epN5lKvXIkfhjd3wRtLLCvVpvzYC2j+E2GZOgmuSOkIK9NodC7vhKJ0iotCE+W0 I+wgJ6SVJU+0twrS8EsVDnzHyBQfeLlHqKsuZ7kk96yIi7EzTN/9e4SKX1yKGSkc qswLNXNqkczgs3HsChJrCPu724z4VNeEbnyvyWVia2TV+mA1C6bb/ClNr/yXBg88 bseRFmWq7QDrWv/SPtZcs4Fp4uPOEPPnqBl9rkZCZly5Xr6rv7HpE9x6Rhb1+dzQ pNktwzpNUZdpENL+yirKnvyYLzkbMgT8YbykOt+S5uCcLlx8FPHfikHBeVhCiqGz icAOrtHhqh+HV7iknrAVQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrfedvgdejjecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpeffhffvufgfjghfkfggtgfgsehtqhhmtddtreejnecuhfhrohhmpedftfhofigr nhcuvfhomhhmihhnshculgfkoffuohfrngdfuceoihhmshhophdrphhhphesrhifvggtrd gtohdruhhkqeenucggtffrrghtthgvrhhnpeehleffteeigfevudetfedugedtudevledu geeugeelheeihfehgfdtkeevvefgleenucevlhhushhtvghrufhiiigvpedtnecurfgrrh grmhepmhgrihhlfhhrohhmpehimhhsohhprdhphhhpsehrfigvtgdrtghordhukh X-ME-Proxy: Feedback-ID: id5114917:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Wed, 10 Jul 2024 15:29:22 -0400 (EDT) Date: Wed, 10 Jul 2024 20:29:16 +0100 To: PHP internals Subject: Re: [PHP-DEV] [PHP-Dev] Versioned Packagers (Iteration IV) User-Agent: K-9 Mail for Android In-Reply-To: References: <09559430-4477-4516-8D78-6F4071E1AA6C@newclarity.net> <0182F3D6-F464-477F-9029-A2D0A8B50C71@koalephant.com> <1AFD7AAE-8BEA-460D-88A8-15BB3D30A775@koalephant.com> <1BE6A849-A2A9-4E17-9C11-5099EF74F5C0@rwec.co.uk> <1d0df8f2-541a-4302-a658-4d7d30003342@seld.be> Message-ID: <1D89C00E-ED0F-4862-A958-AC9D085E91F3@rwec.co.uk> Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable From: imsop.php@rwec.co.uk ("Rowan Tommins [IMSoP]") On 10 July 2024 19:08:39 BST, Michael Morris wrote: Just to repeat a point that's been raised a few times: this is not a great= time of year for this kind of discussion=2E If you come back after 8=2E4 i= s baked, you may get more enthusiasm=2E That will also give you time to mak= e some more detailed analysis, so we don't have to argue about hypothetical= difficulties=2E >1=2E Import Maps - These would be prepared by hand or by a package manage= r >like composer=2E As Larry mentioned, there was a proposal for this a while ago, but not muc= h enthusiasm, since it's so easy to implement in userland, and doing so mea= ns we don't have to include all the possible options someone might want=2E > it will be able to detect symbols the autoload >system cannot: functions and constants=2E Autoloading functions and constants isn't blocked by autoloaders being pro= cedural, it's blocked by the unfortunate decision made many years ago that = a function call like "strlen" dynamically falls back to meaning "\strlen", = rather than being resolved once at compile-time like class names=2E So far, nobody's quite cracked how that should interact with autoloading= =2E Don't expect this to be easy=2E >2=2E Packages - Packages load differently and can effectively monkey-type= the >code of an existing package on the fly in much the same way that namespac= es >themselves work with symbol names as a flat string replace=2E This is an interesting - but extremely complex - problem, and the one I've= been urging you to focus on if you're really up for the challenge=2E It pr= obably needs quite a deep dive into how the language works to find out what= assumptions it's going to break=2E (If you're just going to talk about con= figuration, and not the actual implementation, don't expect much enthusiasm= =2E) > Existing code >can be loaded into packages, but also an outline for writing packages tha= t >have privacy modifiers to their members - i=2Ee=2E protected class SomeCl= ass {} This part seems interesting, as long as it's not tied heavily into other c= hanges; existing code using /** @internal */ should ideally need minimal ch= anges to make use of it=2E >3=2E Modules - Files which are code first instead of template first=2E If by "template first" you mean "you have to write