Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127450 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 0E1D91A00BC for ; Sat, 24 May 2025 21:18:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1748121407; bh=24y9a7RtHt4Esb9BeLDZWX4no3pV6fynKuGnwmyYuoU=; h=Date:From:To:Subject:In-Reply-To:References:From; b=cI6HjTBJhRgstbvFhU9O9Nm7RKQN/PkL8yEHxMARGeXOeAGR00fadvBHm83BN2scN y1X1JFzps1fgM1ziTNBSF+fLwID4I0pwerqVx02Fh0T2vDnkG+0XMpUzohM+eBogXF c5TmCKnUOBwVsnqHKnirNt2fXQ51Nu79lqE6M4DRm3KtWKty+dyj8P+8pgIDTDpyhS 9siTT/gcYaIlUt35Mbsicv+ZUTinp61oGSaGGMUzlIueeu3vh5Q07i3WvkFqAAOZXC VWWkOHD0rpJ4qhkC9VpCDOdZkcBWwnrqIvh/Ako27XDXopx4OKDUGB9S/h5bd55p3D 5t17MXNKSpbCw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id A1EC3180061 for ; Sat, 24 May 2025 21:16:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.4 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: Error (Cannot connect to unix socket '/var/run/clamav/clamd.ctl': connect: Connection refused) X-Envelope-From: Received: from fhigh-a2-smtp.messagingengine.com (fhigh-a2-smtp.messagingengine.com [103.168.172.153]) (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 ; Sat, 24 May 2025 21:16:36 +0000 (UTC) Received: from phl-compute-04.internal (phl-compute-04.phl.internal [10.202.2.44]) by mailfhigh.phl.internal (Postfix) with ESMTP id AF80511400DE for ; Sat, 24 May 2025 17:18:43 -0400 (EDT) Received: from phl-mailfrontend-02 ([10.202.2.163]) by phl-compute-04.internal (MEProxy); Sat, 24 May 2025 17:18:43 -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=1748121523; x=1748207923; bh=24y9a7RtHt4Esb9BeLDZWX4no3pV6fynKuGnwmyYuoU=; b= tCW1z4U3e1MjGjVhdKe420wMY4XfMurlPNX/8hOBUaoaeQwOS+mHHeTXsNSf9Wpb H7NSSGtXJbEP3pu9P/HxxN3XBhU2uTq+MCuPfdCL5IfES2ASeRQ6jZiI4X3LTjgb rQSZ5N8tWaUEUT+8pkbEFER34qC8Fz1rPB01Bxcn/ilklfjFVlBAWEFO2lZ7XD6M AYZd5nc4jugmaR7K3UtNtqNxuUXZXIseC+ub9EaCK2S2f1Z+eaDKwgjdODUSsG13 OcewZCKQNSlP6N5/xOnc5WYNSbn+q/mx0AOoMqtokxZA1g2ISeJBLDdKMysbeJJa 00sbCD9KFUYIEo1/QqA6EQ== 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=1748121523; x=1748207923; bh=2 4y9a7RtHt4Esb9BeLDZWX4no3pV6fynKuGnwmyYuoU=; b=jXRou2Wwk+dtNCU7d 5Accm2ykjviae6oHSOYUy4TDMy+VbEOwmlW0qA1Hc5TzvgvaFHCWzBph07C6HJhW 0eLlpNhcc/7ZHliBMx2dokl/jvwINnG3U8TedZ6cpR3It63lqDltJ39KbP9AljHF IpLGbGSHQpRaAXENBTKeb1xBrrYv5593OJdQNwGk7MKruGrfY9osss76BUO2ho87 0YT7OMizNCK4Wxr47yr6GuLNoRMK/2UQogk8nUwpTNjxSxI+ZlXX4+6shKZPJ+kD QS5loxZJ8sveqGSS+z8HDjZjFOq185VZSXiJhXuci+FYSSzIP4CT4tUoWxnPHF67 gErFQ== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtddtgdduvdejieculddtuddrgeefvddrtd dtmdcutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpggft fghnshhusghstghrihgsvgdpuffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftd dtnecunecujfgurhepfffhvffufggjfhfkgggtgfesthhqmhdttderjeenucfhrhhomhep fdftohifrghnucfvohhmmhhinhhsucglkffoufhorfgnfdcuoehimhhsohhprdhphhhpse hrfigvtgdrtghordhukheqnecuggftrfgrthhtvghrnhepheelffetiefgveduteefudeg tdduveeludegueegleehiefhhefgtdekveevgfelnecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhepihhmshhophdrphhhphesrhifvggtrdgtohdr uhhkpdhnsggprhgtphhtthhopedupdhmohguvgepshhmthhpohhuthdprhgtphhtthhope hinhhtvghrnhgrlhhssehlihhsthhsrdhphhhprdhnvght X-ME-Proxy: Feedback-ID: id5114917:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Sat, 24 May 2025 17:18:42 -0400 (EDT) Date: Sat, 24 May 2025 22:18:41 +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: <2adbff61-5e11-4d39-ab5c-d7950a4550a6@app.fastmail.com> References: <9A26F72B-D0EF-414F-B193-BED3CAB26A0B@rwec.co.uk> <9f6a0d6e-27c3-4f77-aed6-e55147442b6f@app.fastmail.com> <673fd2db-b07f-439b-a4f2-e9519108d159@app.fastmail.com> <78641D8B-AF1D-4912-920A-D75A37C32F05@rwec.co.uk> <354cb888-97c4-4f8c-a0da-359d1e63c0f9@rwec.co.uk> <10D95B6E-094B-4EAE-A18A-AF6B795CB352@rwec.co.uk> <2adbff61-5e11-4d39-ab5c-d7950a4550a6@app.fastmail.com> Message-ID: <79E7FA26-2F5A-470C-B1DF-12CC46A08FE5@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 24 May 2025 14:11:57 BST, Rob Landers wrote: >My only concern is how this would be handled in the class tables=2E Right= now, \AlicesCalendar\Monolog\Logger and \BobsDocs\Monolog\Logger would be = considered entirely different types -- as in, not compatible=2E So if Alice= sCalendar returns a type that BobsDocs expects, they won't be able to talk = to each other=2E Once again, I'd like to use the Linux Container analogy: a process in one = container never communicates directly with a process in another container= =2E The process "thinks" it's running as normal, but is actually isolated i= nside a sandbox=2E The container then defines the inputs and outputs it wan= ts to open between that sandbox and the host, and something running on the = host can wire those up as necessary=2E >I assume that it will be up to a dependency resolver (either composer or = something else) will need to figure out which direct dependencies to "hoist= " up and provide a compatible version between the two packages=2E I see this as the responsibility of each "container": if AlicesCalendar wa= nts to use an un-sandboxed version of a PSR interface or a framework compon= ent, it declares that to the "host" (e=2Eg=2E WordPress core)=2E The PHP en= gine then knows to leave that interface name without a prefix=2E Any other = class - whether it's written by Alice or installed by Composer - exists ins= ide the sandbox, and gets a prefix=2E Importantly, all of this should happen on the *PHP symbol* level (classes,= interfaces, functions); the sandboxing mechanism doesn't need to know abou= t package managers - just as Docker, Kunernetes, etc, don't know about APT = / Yum / whatever Apine calls it=2E Rowan Tommins [IMSoP]