Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:124215 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 EC2C21A009C for ; Thu, 4 Jul 2024 10:37:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1720089534; bh=anxkQ3UmS+SXKuJ/Abiy+2m/QOn4+flM4rwZjDVPeuE=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=Wbt96czYHD72NXS154F0aTcqEvMLHEwgMOWqJsD/1wGdmXC/XR1kGKw2HO0e0KD0b EInWT/3Xkt1euVX3fLFNT6uw7pMTehmMN2P4aUV4GL3m7RV99D9P7xJkijCqvZbek+ rSr09pvjA56SRZvEcwXOT6GXazEsRitqkfXhO3QiH5/zNMAnetnx0qJeW1VdLUQ7ef UWWyRNuQ1lPanoZ7OJGTpwqs1ry22fBD9wWeyluejRLIGI47o35Jq6M8MXSbpMAGGc JfCAjs/xlLWqsYP4W11llns6kwPKasKWgMYB92OcMOnRdDiX/4h2sltSEF1S+SHW1J kU5cqTkRdZEHg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 39BCB18006F for ; Thu, 4 Jul 2024 10:38:54 +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=1.9 required=5.0 tests=BAYES_50,DMARC_NONE, FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM,HEADER_FROM_DIFFERENT_DOMAINS, HTML_MESSAGE,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, 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-f41.google.com (mail-oa1-f41.google.com [209.85.160.41]) (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 ; Thu, 4 Jul 2024 10:38:50 +0000 (UTC) Received: by mail-oa1-f41.google.com with SMTP id 586e51a60fabf-24c582673a5so80713fac.2 for ; Thu, 04 Jul 2024 03:37:28 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1720089448; x=1720694248; h=cc: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=h1Ua71exZXvMSdzo6CD1xygBVC5K/5phtl8LTSPueqA=; b=iGOlcCzzqNlqr4fV42oN6yyrrPuCi1wLNmIvW0HaG/G2XrMZ6q37kfrWPTvWAoLce6 6L90ngL5kKpmxaBhgJfPiyB12yRxGvxmt2FrbQY3DX/TjfTbFZSgMw11Omp3yZF91tAn CrWy65QetMFkJissXgJl4ROaoHtyh+8VEm8bhy46ub6Br0HtkBnn91L6yIBNiSUyH03I 3vRCOrpG6REtJaGlTfc0bVZXseXtlsxhxPHf9AIJFaJJpvGFCr97DHFjdWfOwDxLMtnN Kv6spK+aibBk02i/J+5x40ktaxm3c3cL/P/kPu88wRitEj2BhD7Rypg69KB41ZEAdKKa 2AbA== X-Forwarded-Encrypted: i=1; AJvYcCXqJa/oUBWzVCyqJUy6YZYK2uLRUwFOFt6zEc4ROOagfqPUaBsQuNAtC7iigtXZkOZV3cRbIUPqakl7clfk3dvNiKbiszIKxQ== X-Gm-Message-State: AOJu0YzhiCHrVFvj6TksomL8RcORdXLGhf1mrrWfFch0ehGWVdiB89mv KPk8eXQmweShJeIQBTFFanko4grJzOlqu/FT699iCFhEdwh0hkJhgOjHSxMKBmfcop0puWuUHJ5 5Ot2Hicp8UHFvrflFQap3nuEUDqM= X-Google-Smtp-Source: AGHT+IGkC8B0pCdCCf4RLBJZgV0BW1n8WEN5xBm5+bIFLLQd0kw8E9zH9og/S6WrzgAqy1G/SB7EbANCKbPaaZ5xeyw= X-Received: by 2002:a05:6870:eca3:b0:25e:c0b:82c5 with SMTP id 586e51a60fabf-25e2bf101admr1239386fac.3.1720089447566; Thu, 04 Jul 2024 03:37:27 -0700 (PDT) Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net MIME-Version: 1.0 References: <09559430-4477-4516-8D78-6F4071E1AA6C@newclarity.net> <0182F3D6-F464-477F-9029-A2D0A8B50C71@koalephant.com> <1AFD7AAE-8BEA-460D-88A8-15BB3D30A775@koalephant.com> In-Reply-To: Date: Thu, 4 Jul 2024 11:37:15 +0100 Message-ID: Subject: Re: [PHP-DEV] Iteration III: Packages (was Re: [PHP-DEV] [Initial Feedback] PHP User Modules - An Adaptation of ES6 from JavaScript) To: Rob Landers Cc: "Matthew Weier O'Phinney" , Stephen Reay , Vincent de Lau , PHP internals Content-Type: multipart/alternative; boundary="0000000000008116f8061c69889b" From: kguest@php.net (Ken Guest) --0000000000008116f8061c69889b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, 4 Jul 2024 at 07:32, Rob Landers wrote: > > My main feedback to PSR=E2=80=99s is that they are fundamentally broken d= ue to > being outdated. The idea behind the standards is sound, but there are onl= y > a few PSRs that are applicable to today=E2=80=99s PHP. When I look at cre= ating new > libraries today, PSR=E2=80=99s are a good inspiration, but they probably = shouldn=E2=80=99t > be used in actual programs. Here=E2=80=99s a short list of outdated stand= ards I=E2=80=99ve > collected over the last couple of years: > > > - 7 > - 11 > - 15 > - 18 > - 20 > > Most of these breakdown if you start dealing with fibers, various new > scopes introduced by runtimes, new http standards, etc. > > Ergo, if you=E2=80=99ve run into these issues, you are likely inclined to= stay as > far away from PSR=E2=80=99s as reasonably possible and may have a negativ= e view of > them. However, for enterprise applications, PSR=E2=80=99s are a godsend. = So they do > have their uses, don=E2=80=99t get me wrong, but if you want to use techn= ology > newer than 2019-ish, you need to avoid them; and this is a large part of > why I say PSR-XX isn=E2=80=99t a valid argument on this list. > This is one of the reasons why we [FIG] now have the concept of PHP Evolving Recommendations (PERs), which can be updated/evolved over time with multiple releases - instead of having having a succession of PSRs and having to know which one supersedes another. The only example of this thus far is PER-CS for Coding Standards - version 1 being the PER equivalent of PSR-12 and version 2 of PER-CS being an update addressing syntax in PHP that was not present when PSR-12, e.g. match, enums, attributes and all that other wonderful stuff. There is no reason why any current PSR can't be replaced with a PER equivalent - given a Working Group, time and focus. Except maybe PSR-8. --=20 http://about.me/kenguest/ --0000000000008116f8061c69889b Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Thu, 4 Jul 2024 at 07:32, Rob Land= ers <rob@bottled.codes> wrote:

My main feedback to PSR=E2=80=99s is that they are fundamen= tally broken due to being outdated. The idea behind the standards is sound,= but there are only a few PSRs that are applicable to today=E2=80=99s PHP. = When I look at creating new libraries today, PSR=E2=80=99s are a good inspi= ration, but they probably shouldn=E2=80=99t be used in actual programs. Her= e=E2=80=99s a short list of outdated standards I=E2=80=99ve collected over = the last couple of years:

  • 7
  • 11<= br>
  • 15
  • 18
  • 20
Most of thes= e breakdown if you start dealing with fibers, various new scopes introduced= by runtimes, new http standards, etc.=C2=A0

E= rgo, if you=E2=80=99ve run into these issues, you are likely inclined to st= ay as far away from PSR=E2=80=99s as reasonably possible and may have a neg= ative view of them. However, for enterprise applications, PSR=E2=80=99s are= a godsend. So they do have their uses, don=E2=80=99t get me wrong, but if = you want to use technology newer than 2019-ish, you need to avoid them; and= this is a large part of why I say PSR-XX isn=E2=80=99t a valid argument on= this list.

This is one o= f the reasons why we [FIG] now have the concept of=20 PHP Evolving Recommendations (PERs), which can=20 be updated/evolved over time with multiple releases - instead of having hav= ing a succession of PSRs and having to know which one supersedes another.

The only example of this thus far is=20 PER-CS for Coding Standards - version 1 being the PER equivalent of PSR-12 = and version 2 of PER-CS being an update addressing syntax in PHP that was n= ot present when PSR-12, e.g. match, enums, attributes and all that other wo= nderful stuff.
=C2=A0
There is no reason why = any current PSR can't be replaced with a PER equivalent - given a Worki= ng Group, time and focus.

Except maybe PSR-8.<= /div>


--0000000000008116f8061c69889b--