Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:127354 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 3602D1A00BC for ; Wed, 14 May 2025 13:25:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1747228989; bh=mdawkgZfuZRHL3b3l7O+k6cOeNA1IvJZAfZ++dy8xS0=; h=References:In-Reply-To:From:Date:Subject:To:From; b=aPf4NnC21KLH2EVjUrnvGvipfk02CuWUOoq15Re+Dcf2Vjjg38Oj0Jh7ui9LKFxt8 HoLcDHayiuKPDSOBstXz5ZIC2WkWAn09EVRSFzYB3d8rzhhaZBQkIDKp3OTegxz2Fl T6v3n9H7xYb7iJHjQxZW6xImB+dkg/FPnFt59zgxDJSu+XV9fEqu2h23tNEOrw9tp1 5glW1trLG2WYKRahRaRxgXxZZ0zKLta8+yF8NfLAcrBXQ9sYtTGzpULSZBgtR4uKxj Qt9+wYFbC1jCuKo8kV37z32sRZBDUnFAQxe01iq0vGf6FpipZ7PsSMjb+tEAMbkoKh /Ubg3ZnM1m61Q== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 27C7718007C for ; Wed, 14 May 2025 13:23:09 +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-yb1-f173.google.com (mail-yb1-f173.google.com [209.85.219.173]) (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 13:23:08 +0000 (UTC) Received: by mail-yb1-f173.google.com with SMTP id 3f1490d57ef6-e7ab544d798so3075988276.3 for ; Wed, 14 May 2025 06:25:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747229119; x=1747833919; 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=oFyHkGsqYuOT9MoS09W8p3MHhCBHnyurXr9q07bxeDQ=; b=P7dXdWyeqwSsp+d3ItoNxR4qBfC7JJMumMe4SFTgB3suEwF5P2+HAjBYamLhk9Wf61 ieHQ4MdUHS7kg+55ZNsWvTrUQG9rG0GVS+WwhY6Un0hSeh7Mq2gQgIhCssc3hCQ5SWjJ soLC2g3VdcGEuppY/+1Hx2+n6E8E4pY/Hfeaf+hzw6oNPjj2ecCVWn9lL/LQr/otaIs7 JX6kXIeUMftMV/Q1AYDtff9mCjpG0rTrPPoO7yYRRyfHpxMDdszKX5omNfaMlen7cS4g 0vM3fbVmrq2eCDQQetjmel2tT35OGsH4NSx7dpin842SEQ1h0sfSQ0jhgZdDJAaWd5Rz DUyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747229119; x=1747833919; 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=oFyHkGsqYuOT9MoS09W8p3MHhCBHnyurXr9q07bxeDQ=; b=cD8gEwZbcPu8OYKebuwah5f1vSjX799XaDs9eGAKBsQiqR/yl8QZ/WnsA43aiJlWqq zODTgQhL8SiwWcqQoKRpwOaqL30WmlXJRBaD8IE6NACijMwESp8kdhsJkX5DS+FZqZY8 30NWgP+WPivScm+uDnVMG32YN1vrAuRobyuvCF5hhGVhVxwQXmLCVv8zSymc6EY5X9Ih CzhfljvEMEkqjoGp0S/JlDHBXK6L1sbd3Rxj+hYLFqK8HZw6jIAYiRj47/DWqQ/YhvfC NVPg2QMfunPsYeXQlEGMTssHdnxJprO0ssWyxhG7b3YDzfl9YPE4eFp/4AedMu8cR7kA UQQQ== X-Gm-Message-State: AOJu0YyrmMt6MUMoZ/u5Xt+isrCpSf/5V4otAE2HPYwXHrGnghRPbv8j 6fe3cOG7udVSZIo94AocHqfU4ZwFuSIrkzU77gQ2fHRuy4m5dZWP9ouhBNO5lamTK3YXZO8hRoV KJNo29W2yzAM3tc3u2Ngu2+b7C4C+tg== X-Gm-Gg: ASbGncuzn7oh/YJTBwaKGc7eYqLhjDvpB9aFATLOCAKSt4SppZlWHpTVdgMRZ0KakFu +5YJV+w8/efT/j8ppAAL0JPk2ixh5k7cQqdK47XR3opAhjZEdXqF333g+qje+tTlkbYI6HrBvD+ MHnZhIhhs6MwWNXEEkHuyWFc0ZoSv2ryrGhoKtV9pgY1GcAuDcE8/LXUIN3nT1woA= X-Google-Smtp-Source: AGHT+IFkOqEhk+nEq+lHJ7ZOW35eljWLLTVrPfaY14ksjY/EILQ/3TXWN88ifySqnGB+wnn560en9xXLIBqBO9zqnBU= X-Received: by 2002:a05:6214:4015:b0:6d4:dae:6250 with SMTP id 6a1803df08f44-6f896ecc411mr58165066d6.34.1747229108208; Wed, 14 May 2025 06:25:08 -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> In-Reply-To: <3ae9a6ea-f135-472b-b2bf-e6cd6ebad299@app.fastmail.com> Date: Wed, 14 May 2025 09:24:57 -0400 X-Gm-Features: AX0GCFtvT1D9sRpEh9daRnk20bAgiSYsV3eQQkUodvttc8ilyE1q1BuWrFhbMso Message-ID: Subject: Re: [PHP-DEV] Module or Class Visibility, Season 2 To: internals@lists.php.net Content-Type: multipart/alternative; boundary="0000000000005608da0635187ac7" From: tendoaki@gmail.com (Michael Morris) --0000000000005608da0635187ac7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, May 14, 2025 at 4:08=E2=80=AFAM Rowan Tommins [IMSoP] wrote: > > What Michael Morris is talking about is really a completely different > concept - it's more like "containers", in the sense of Docker, Kubernetes= , > etc, where different sections of code can be isolated, and declare classe= s > with conflicting fully-qualified names. I don't think it's what most > applications and libraries would want "modules" to be; it's probably best > thought of as a completely separate feature. > > Well, it's what Go calls "modules". It's confusing because I was being truthful, not snarky, when I said "Ask 10 programmers for the definition of module and expect 12 answers." I'm self trained, so I expect to get my terms wrong from time to time. But I know enough to identify problems and needs and I've tried to be clear on that. I'm currently reading up on Phar and seeing exactly how suited it would be as a foundation for a module system. I've also been reading on how go approaches things, but go has package management baked into the compiler - PHP outsources this to userland. I'm going to guess that's largely because of lack of staff - PHP has no large backers (leeches like Facebook that use it heavily and could back it yes, but not backers) and Go has Google. --0000000000005608da0635187ac7 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


On Wed, May 14,= 2025 at 4:08=E2=80=AFAM Rowan Tommins [IMSoP] <imsop.php@rwec.co.uk> wrote:

What Mi= chael Morris is talking about is really a completely different concept -=C2= =A0it's more like "containers", in the sense of Docker, Kuber= netes, etc, where different sections of code can be isolated, and declare c= lasses with conflicting fully-qualified names. I don't think it's w= hat most applications and libraries would want "modules" to be; i= t's probably best thought of as a completely separate feature.


Well, it's what Go c= alls "modules". It's confusing because I was being truthful, = not snarky, when I said "Ask 10 programmers for the definition of modu= le and expect 12 answers."=C2=A0 I'm self trained, so I expect to = get my terms wrong from time to time. But I know enough to identify problem= s and needs and I've tried to be clear on that.

I'm currently reading up on Phar and seeing exactly how suited it wou= ld be as a foundation for a module system. I've also been reading on ho= w go approaches things, but go has package management baked into the compil= er - PHP outsources this to userland. I'm going to guess that's lar= gely because of lack of staff - PHP has no large backers (leeches=C2=A0like= Facebook that use it heavily and could back it yes, but not backers) and G= o has Google.

--0000000000005608da0635187ac7--