Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127409 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 63D991A00BC for ; Wed, 21 May 2025 09:20:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1747819103; bh=Qa0CX/0o7S3Z+jb/+s3HkjoKbJ6iF+Q6n3k+3k9wh4w=; h=References:In-Reply-To:From:Date:Subject:To:From; b=Kyty8WhUpsvwUCL+RrSCwqiQMozrxPcqjRCUOXvRusrEdfJSZ17WTHz8XsvZDGaly A0Qmepu0aJra1LsBZgB1uolzlO34FwfNPjodw5PKElmxQ6h4//idxu5amDihwfti0Q L80k0htleI1PW7rlV6NRHTu3wNWcWi/pdtvJsUTtODSReKWbtFvZeT53aviqw7wGHt XpjfCZTp/PnUsXM9tbRRDWp+h0yUfClaMdTsbbcXaGu6HdsIVtXMI2arYc6N9Ki3dV lNb+VhiZu48dcRNisLu/iqEtO7FEalBCmo5ZNMIPnbp/eimuMmsyIXX/SlsDtE28ni 45Ld75WKjkLUA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id CE5B618007D for ; Wed, 21 May 2025 09:18:22 +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.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, 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 mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) (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, 21 May 2025 09:18:22 +0000 (UTC) Received: by mail-qk1-f169.google.com with SMTP id af79cd13be357-7c55500d08cso729349185a.0 for ; Wed, 21 May 2025 02:20:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747819230; x=1748424030; darn=lists.php.net; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=vlFcfD2TZHnaMExqnOqIbNqCuf5zjB42yQybefQ8lC0=; b=ih10WeQrykbgqxwwINQpOYSluiX/7MXMi0GK7MXloDsuhlNjv8DZe5wXWD+uwch7lc RQHEvf4LKYz70wZibMBnReCa0/99yC8gntsfKNhMB1OuReDhF3nXYm5QNo5pCmqGKN2F bHQ5AFpPjnF375sRbO4T1U7CLvmkL/VlunZq7u/m6h/VNufYTqEayk3fOwb4arxaTnCD QdBhI26dQXOXZts1U2v8wnL29OUsHONjxW6pE2RWSfu3sPwUXAdPx2T/CS5tiK2MYvqF c/MMNkV1LRaCWjW3Qph4ltK/vOdMNhfCWpEZr/8x9XlePajtOx/nwarSX7i37UkEduAi Ngog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747819230; x=1748424030; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=vlFcfD2TZHnaMExqnOqIbNqCuf5zjB42yQybefQ8lC0=; b=bv0kz3+p0ExH/065RyaPrWhlShGSJyQ/683jFr4G9CCo3cDaqJlrM8pmTiGLeTGpdn aHIasMcv77m8+ctl2cb8oIvwtMQmrCok8vAz9CuT7vod55P/+WN0lFH3wEozoq2DRsD5 ddPqLovZu+Y5a0o4aWZxC4sDzoOstghOIYBuUVkiy4MLBaiRtyh1/6UJJH/ulffKhRn1 R2oprl1ZyH6uDjdH8IHNx1myind9H4B2JaSzOYI5KwtxCV+X3g4kNzf7MM7ZSMkx4o1o ifG0QJjb7jbzXnhsX7BokGPTm0q0cwZL8YTyEIdFSX0Us2F7RrQ9cZR2820bi7vQ7l0r Cv3w== X-Gm-Message-State: AOJu0YyELJbCc8ZOm2JoC9A6HYbvOzsWlEDOWKOD3sjpBtCaZjmLxy9H Qsz70mZrPtpJhq588Nf1sg4Cq+k2TtKDC7ZZ1QtwbDPm0zRsI/huUO4KNEpKtb3ZEqpZ4dXbttV QGsrz5Rt26N3RnMX/K02VsyH0R4F20Y2XyQ== X-Gm-Gg: ASbGncsP4QZkvAewtIijQC/8VVzBQTX/8upGZQzO2/CYjp2NU1Bmre4zWViM0x1pJEU hOU6Pfga2ufuepu8Hp10U9yTIquw0ITQUO3sFUCohjlFuFq++Ou244zQU9A500l52oSOo595Lai JhxqOb8AHfEIxGsk8+Zj90O7kfUTghleT72MwUHtnxO7nDQrJVDtWLhqsUNBgGx5k= X-Google-Smtp-Source: AGHT+IEi2WJ7y43Q3qryosS+mZ69OjPtapciVK0clwbzE3QPUkTiEjh2QyKqgexpedAkNPcspSasT/Z4Zsf6L2R1I7g= X-Received: by 2002:a05:620a:15a1:b0:7ce:b9d5:bc41 with SMTP id af79cd13be357-7ceb9d5bd56mr1453066285a.22.1747819230178; Wed, 21 May 2025 02:20:30 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 References: <3ae9a6ea-f135-472b-b2bf-e6cd6ebad299@app.fastmail.com> <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> In-Reply-To: <78641D8B-AF1D-4912-920A-D75A37C32F05@rwec.co.uk> Date: Wed, 21 May 2025 05:20:19 -0400 X-Gm-Features: AX0GCFt1HYhMtjM6Ta7zafvl1bt9l96BgFzyz5HtK0HOI0Mcalp0GnBGBO9ZYjM Message-ID: Subject: Re: [PHP-DEV] Module or Class Visibility, Season 2 To: PHP internals Content-Type: multipart/alternative; boundary="00000000000058b4760635a1e051" From: tendoaki@gmail.com (Michael Morris) --00000000000058b4760635a1e051 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, May 20, 2025 at 6:18=E2=80=AFPM Rowan Tommins [IMSoP] wrote: > > > On 20 May 2025 15:04:49 BST, Michael Morris wrote: > >The Problem: Interoperability. > > > >That's really it. Scenario > >Alice provides whatchamacallit A that depends on other whatchamacallit D > to > >work. > >Bob provides whatchamacallit B that also depends on D. > >Charles is using A and B. > >D gets updated with a new incompatible API to its prior version. > >Alice publishes an update which includes a security fix. > >Bob retired. > >Charles, who can't program, can't update to Alice's latest code. His sit= e > >eventually gets pwned. > > Let me correct something here. The whole reason I was bringing in the > distinction between "module" and "container" is that B and C are one kind > of thing, but D is a *different* kind of thing. > > D is something like Guzzle. There is zero motivation for Guzzle to be > rewritten in a way that forces its dependencies to be isolated. It depend= s > on packages like "psr/http-client" whose *entire purpose* is to define > interfaces that multiple packages agree on. > > A, meanwhile, isn't a thing at all; it's just any old PHP code I'll stop you there. You are deliberately misrepresenting what I wrote and even a cursory glance at it makes that clear. You are not trying to be constructive in any way, you're trolling. --00000000000058b4760635a1e051 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Tue, May 20,= 2025 at 6:18=E2=80=AFPM Rowan Tommins [IMSoP] <imsop.php@rwec.co.uk> wrote:


On 20 May 2025 15:04:49 BST, Michael Morris <tendoaki@gmail.com> wrote:
>The Problem: Interoperability.
>
>That's really it.=C2=A0 Scenario
>Alice provides whatchamacallit A that depends on other whatchamacallit = D to
>work.
>Bob provides whatchamacallit B that also depends on D.
>Charles is using A and B.
>D gets updated with a new incompatible API to its prior version.
>Alice publishes an update which includes a security fix.
>Bob retired.
>Charles, who can't program, can't update to Alice's latest = code. His site
>eventually gets pwned.

Let me correct something here. The whole reason I was bringing in the disti= nction between "module" and "container" is that B and C= are one kind of thing, but D is a *different* kind of thing.

D is something like Guzzle. There is zero motivation for Guzzle to be rewri= tten in a way that forces its dependencies to be isolated. It depends on pa= ckages like "psr/http-client" whose *entire purpose* is to define= interfaces that multiple packages agree on.

A, meanwhile, isn't a thing at all; it's just any old PHP code

I'll stop you there.=C2=A0 You are deliber= ately misrepresenting what I wrote and even a cursory glance at it makes th= at clear. You are not trying to be constructive in any way, you're trol= ling.
--00000000000058b4760635a1e051--