Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124064 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 2C36B1A009C for ; Sat, 29 Jun 2024 22:28:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1719700208; bh=+omjBZFAOg++Kq80AM9uk4h9Nq/60B7cwi13xWnUKTc=; h=References:In-Reply-To:From:Date:Subject:To:From; b=XcrFtdC4V1SzzRj46uFulimi5kVsYu7dhUiQIjwz9nKQLWM4AhwQ6n/O65VFr4u4B /+Dc15MLywxyVIvil7112lKcDquQLbNk30LFlTjk+iYUr+Nxui057oLzbGP7vOPLcR 5KyHu3wNciO0bOCqXk41P+lqDNUNXFmjefZ7GRV7CvC/oUqxhBwWDudDlfGwAp1EMm d2o/sPtG00REKaTw8EoNvkMfYD0ff7++t1pTesqwnj9rHHaQX+tdYU7vCMzOp59Jmh MjJlvJTEOLVwXpUsuCC4CZWTlQlO312EZ7lE+bqWHTJsMH4JckOLt2MbZM8tolfMS7 1PZb7fEFGJnmg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id B16D4180082 for ; Sat, 29 Jun 2024 22:30:07 +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,T_SCC_BODY_TEXT_LINE 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-oa1-f44.google.com (mail-oa1-f44.google.com [209.85.160.44]) (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, 29 Jun 2024 22:30:07 +0000 (UTC) Received: by mail-oa1-f44.google.com with SMTP id 586e51a60fabf-25d8ab4f279so1001488fac.3 for ; Sat, 29 Jun 2024 15:28:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719700127; x=1720304927; 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=01u/1FawHsZVEJXbSkLa12pLOaQVzC5kTTDEHCdshno=; b=bMbpC9FqqcFUpoMFaExPYEbfIzMnYWije6DmCvKW5kXHVZyZdyS41s5cTLa1cS5ELe EEyr1u717LPk0juSKAY9sO9YrHaLFeYEX4pt73v3KGdhP/XWwjX+PX8qzbROwmtV1g0o BDfN9TzmizukB7Y4SxMK5T2IzUlJ1BWlwldPt62UZI9iTHyL9Q381Or3jNZ0TiSPUw3y mv4IohLFfu6FwA+0+VkEluwtL7E+gKMShdsEwv52CLAQHdNpbsbIb4iZhruwW/UkuQTW kaLXJgdoAJD6pEq8rplyu4ZZPuHiA9CyttxEDOcGsGh8CscuLXfGG/r8mN2Wxxai7yIm 57dw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719700127; x=1720304927; 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=01u/1FawHsZVEJXbSkLa12pLOaQVzC5kTTDEHCdshno=; b=wediR+MMITtshyHz72KwpMsWsr3t+h80K8MlIH/ayxZZ0o4JQPWk8e9/9wlQ5GD8Wn T4dSICGMXvNMMSPTMmYgMHZt+ERhHa1dw8j7lxgcSsv09W/eKyrplXj0Lf4G3dzjXBgB Pipfr6hKoNaq27bXs9PFjZOcTrB2g2SMv9KJxDtMX/zCbH6e+Zvoh0uoLAcL/dAi+Lgc M4tNdzLQHVYqBKl5HzfaSeDkQMpgTMj0GSw/zZh6tmrGYd4QZsO92KnkpOgL/TWIefFs xcXBZ0AQx19XcC15CQ/dEVWGwzo/NlzSAqHB05EdKTPALcywW1J7zT6j18heja9F3whU FQAw== X-Gm-Message-State: AOJu0YzfjFushuzutN5XHQPIiwywjgz9gAz+djMzVniEQ9fQBqZlBKZb JPJzqxFkHfSU0z8z47XkDS7aKgRpNWggze2WDQRKev/DIloPGTHW3XnWwwRjfZR7iEeglzWYwvC /ALGf3droYouSDkN54ENNaIie8oPM1w== X-Google-Smtp-Source: AGHT+IEMvrTep+i8jRDAt+O9FBFb4lurqeuKrf7MK2FXk8IwGMFbZczQfoPhF8z+aFmXxjDiQoAVA4gEUUxbf7PWvnI= X-Received: by 2002:a05:6870:d6a5:b0:255:26da:54f3 with SMTP id 586e51a60fabf-25db340e4ffmr1693918fac.4.1719700126712; Sat, 29 Jun 2024 15:28:46 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net MIME-Version: 1.0 References: In-Reply-To: Date: Sat, 29 Jun 2024 23:28:34 +0100 Message-ID: Subject: Re: [PHP-DEV] [Initial Feedback] PHP User Modules - An Adaptation of ES6 from JavaScript To: PHP internals Content-Type: multipart/alternative; boundary="0000000000002c48a0061c0ee3c9" From: davidgebler@gmail.com (David Gebler) --0000000000002c48a0061c0ee3c9 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, Jun 29, 2024 at 9:27=E2=80=AFPM Michael Morris = wrote: > > Near universal unity?? You're forgetting Wordpress, which has massive PH= P > market share (more than 50% of PHP backed websites - well more than > depending on which survey you cite) and DOES NOT USE COMPOSER. And it DOE= S > NOT USE PSR-4 either. > > Composer is wonderful as a userland solution to a problem the Internals > team has failed to solve, but such a critical problem as package > management being mostly solved in userland using a configuration file > (composer.json) written in another programming language entirely is frank= ly > an embarrassment in my opinion. > Given WP has yet to adopt Composer or PSR-4 standards, how likely do you think it is that this particular project will be quicker to adopt any, say, PHP 10 "user modules" feature along the lines of what you've proposed? > What is asking for more trouble is to stagnate, sit-on-hands, and twenty > years from now PHP will be where COBOL is today - a niche programming > language that was once widely used, but reviled, hated, and the current > generation of programmers working feverishly to remove it entirely. Not t= o > mention the butt of an awful lot of jokes. > Mmm, been hearing that one for the last twenty years, yet here we are. And the improvements to the language in that time have been innumerable, but each one has served as a solution to a clear problem statement. > No one is going to post to this list with a perfect plan to solve package > management in CORE. Not in userland - we've got that - in CORE. That i= s > a feature PHP lacks that is present in Java, NodeJS (not clientside JS, a > distinction needs to be made), C#, Python and Go (likely others, but thos= e > are the ones I've used and whose implementations I am familiar with on at > least a cursory level.) > None of those languages have better inherent support for packages than PHP, just different ways of doing it. PHP's way is namespaces and autoloading and while there's a good case that if we were designing the language from scratch today, these might be a couple of just many things all of us might want to do differently, ultimately all these things are just variants of loading code symbols into scope. These languages all have separate tools to manage third party dependency libraries (more than one competing with each other, in some cases). Composer compares more to pip or npm or maven, not Java packages or modules in Python, JS, etc. For me, bottom line is I don't have any problem today managing or installing versioned vendor code in my projects, I don't have a problem breaking my project file structure down into clear modules and I don't have a problem referencing those modules from other modules. Nor is the way I do those things different to how any other PHP project does those things (be that via Composer, another custom autoloading function, a series of require statements, or whatever). > And I also don't appreciate the notion that any solution proposed here > should be 100% perfect and ready for implementation day one. That's neve= r > going to happen. But I'm not willing to join several talented programmer= s > that have spent a month to a year getting a working implementation into > place before submitting an RFC only to have it shot down after work has > been done. Cause frankly, I think some of y'all are only here to shoot > ideas down and never come up with new ones. > What I'm saying to you is that you need something much more comprehensive, well thought out and well justified to be in a position to even have a conceptual, ready-to-consider RFC. You don't need to have a working implementation on day one but you need to be proposing something coherent and with clear benefits, which I don't think this is today. --0000000000002c48a0061c0ee3c9 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
On Sat, Jun 29, 2024 at 9:27=E2=80=AFPM M= ichael Morris <tendoaki@gmail.com<= /a>> wrote:


For me, bottom line is I don't have any problem today = managing or installing versioned vendor code in my projects, I don't ha= ve a problem breaking my project file structure down into clear modules and= I don't have a problem referencing those modules from other modules. N= or is the way I do those things different to how any other PHP project does= those things (be that via Composer, another custom autoloading function, a= series of require statements, or whatever).
=C2=A0
And I also don't appreciate the notion= that any solution proposed here should be 100% perfect and ready for imple= mentation day one.=C2=A0 That's never going to happen.=C2=A0 But I'= m not willing to join several talented programmers that have spent a month = to a year getting a working implementation into place before submitting an = RFC only to have it shot down after work has been done.=C2=A0 Cause frankly= , I think some of y'all are only here to shoot ideas down and never com= e up with new ones.

=
What I'm saying to you is that you need something much more compre= hensive, well thought out and well justified to be in a position to even ha= ve a conceptual, ready-to-consider RFC. You don't need to have a workin= g implementation on day one but you need to be proposing something coherent= and with clear=C2=A0benefits, which I don't think this is today.
= --0000000000002c48a0061c0ee3c9--