Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127366 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 lists.php.net (Postfix) with ESMTPS id 985A01A00BC for ; Wed, 14 May 2025 22:53:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1747263081; bh=x//oGzixf9dsFD3m+2lWlzyi6qVTcVgzn5iOVZHaoXk=; h=Date:From:To:Subject:In-Reply-To:References:From; b=fMlcztHzxImKdiOyHrvLjoJIRLUI6XpwWvugf33LYdHXCPjadxvy/Vb3pZlyB07vt hQv+WuDGiqY2WQ4YK29Kmh9pMKwyb0X37lg6q8hyd7RfgSpVL4MZbDRDnTMshgfEZA ZE+LJCcF+8Xed6BtfNzJO+laMcDJl6vjdKmbZRo9dRimB5XX4z7c0JzZ53ltuMidFS qRUYDBM93u8lOt01u/ipWn4N2g34fn67pROf+8jKghFkaAcjmszXaYuvGqPjLfjH0/ WJ5Gc8udCLeCkCTGUgwpwG4w9Sa1/Mgo2nhg2h7d2t0p+Z9Rv5TD8YJprUZDyFSsM1 sNPG/QQkuyWDg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 61F9C1801D8 for ; Wed, 14 May 2025 22:51:20 +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.9 required=5.0 tests=BAYES_40,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from fhigh-a7-smtp.messagingengine.com (fhigh-a7-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, 14 May 2025 22:51:19 +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 7D2ED11400C2 for ; Wed, 14 May 2025 18:53:30 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-03.internal (MEProxy); Wed, 14 May 2025 18:53:30 -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=fm3; t=1747263210; x=1747349610; bh=KAhuVD0wLo3RD3P3f9ivDyiO8NAo+x4evPYqaiTkBno=; b= V6GFz68nzru0Ol3rECKXBAQhxYNtc5BgngYHvrkHin3Q8E2DLDOAMTkcu9TP6Th4 zn1X7/z16L53iNh+4cBuFCtz+rNKvJAwwKpmqrh55Vm6xnurdxAoZXfSLMvYxCAT KQNeHW721JRKfm2WDJ7CLu6e0SWzVU5V6CgjcEGWBS7m5wzMrCG9pvwbUhJdkOZK 43vANn6nehR53Z3wTBSqy6k311yU4gYcIKCx825UozLo0fWLjokJqcQf24QUMxxQ OLnw8VcSSwgS33TDI3KfeMDm1WRR5y67jFAZkvmEU4lIRdlWPCAR3ogJuxzg0z7V gZKrCaBrRXsGp/CCSFaeOg== 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-sender :x-me-sender:x-sasl-enc; s=fm3; t=1747263210; x=1747349610; bh=K AhuVD0wLo3RD3P3f9ivDyiO8NAo+x4evPYqaiTkBno=; b=YD/9UIUWSD8Dtm8sr LaxS5R/A9jVDi5bL+eoRkAGTZerEgFR/D/als6AVCcq9QyWvtFozJGBKZILKJlY8 4AKQp8FIKRvR1IrFurrt/Eag/ZPC6d+UvOtxsSH5uSFdQL5UUjRTgkMYOwvvb9yt vHjJmsVKPvF4V7R00E2fwCdIf6+KydoaEdIaX7+pdehC9GItMYhez4dRPTqkKl3I 1QiBe6Bfl1aoaGl3D7A8EKMHonmjXb0gfTpp4wyYE1LhOZNRGTuUs/Bc6D1wP38f 9obiuf3LHcUAbbG2pMo26f882rEY3Ddy4DQCZUtPtkXQvFVW7C2yryCGZkY+hIim joQqg== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgdeftdekvdegucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpeffhf fvufgfjghfkfggtgfgsehtqhhmtddtreejnecuhfhrohhmpedftfhofigrnhcuvfhomhhm ihhnshculgfkoffuohfrngdfuceoihhmshhophdrphhhphesrhifvggtrdgtohdruhhkqe enucggtffrrghtthgvrhhnpeehleffteeigfevudetfedugedtudevledugeeugeelheei hfehgfdtkeevvefgleenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrih hlfhhrohhmpehimhhsohhprdhphhhpsehrfigvtgdrtghordhukhdpnhgspghrtghpthht ohepuddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepihhnthgvrhhnrghlsheslh hishhtshdrphhhphdrnhgvth X-ME-Proxy: Feedback-ID: id5114917:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Wed, 14 May 2025 18:53:29 -0400 (EDT) Date: Wed, 14 May 2025 23:53:28 +0100 To: internals@lists.php.net Subject: Re: [PHP-DEV] Module or Class Visibility, Season 2 User-Agent: K-9 Mail for Android In-Reply-To: References: <3ae9a6ea-f135-472b-b2bf-e6cd6ebad299@app.fastmail.com> <9A26F72B-D0EF-414F-B193-BED3CAB26A0B@rwec.co.uk> Message-ID: <4AAF6644-A6A0-473F-8575-5E4086D92219@rwec.co.uk> Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow 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 14 May 2025 21:50:25 BST, Michael Morris wrote: >Container, module, block, package, plugin, domain, division, fraction, >lump, branch, sliver, splinter, constituent or whatever the hell else you >call it, I don't care=2E I know you think I'm just being pedantic about names, but=20 what I was trying to get across was the distinction between different feat= ures that we could have both of, because they're solving separate problems= =2E It's basically about where the dividing line is=2E If you want this hierar= chy of dependencies:=20 +-- Plugin1 -- AcmeSDK v2 -- Guzzle v5 App --+ +-- Plugin2 -- AcmeSDK v1 -- Guzzle v4 The requirement is not to hide Guzzle from Plugin1 - maybe it *needs* to c= reate an object from Guzzle and pass it into AcmeSDK=2E Instead, the requirement is for Plugin1 to hide both AcmeSDK *and* Guzzle = from Plugin2=2E You don't want 7 different "things" (whatever you want to c= all them) in that diagram, you want 3 (App, Plugin1-and- recursive-dependen= cies, Plugin2-and- recursive-dependencies)=2E The Linux container analogy is something like this:=20 +-- container { WordPress -- PHP -- Apache } Host --+ +-- container { MediaWiki -- PHP -- Apache } The goal of containers isn't to hide WordPress from Apache or vice versa, = it's to hide the two copies of Apache and PHP from each other=2E There are = plenty of things hidden *inside* Apache (the equivalent of "private classes= ") but that's a completely separate concept=2E I wasn't saying the feature had to be called "containers", just that the a= nalogy might be useful=2E Rowan Tommins [IMSoP]