Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:125337 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 1F5511A00BD for ; Wed, 28 Aug 2024 13:35:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1724852235; bh=pVyw/UgIOI/ZlR403+7edHr6+TCjDjgTddMhcCT7d1c=; h=Date:From:To:In-Reply-To:References:Subject:From; b=JRbNwJJf/LP1ai8952Dxj19Mp1SL0gwAw+NyxaWTDWlMEVB/Exsmpgs4ddRrr32wX If4f3CkPFI+E83HGPNDDyqd3Vp7GrWO5IkE7wN9Ijer3MmlqJ+G9KwfPFhP6H/rMWd WP7AHzm2PcEsd/o/V4UsjTDxuBJRZcgX/xVLoN3xFnNX4lA1ryyxmfyjYUwFkym1rJ xTjraCqnuIdkhhjYI5rjcUqcY1JDR7Zcka2Q0hNO1O7atUO7zAi0HmodtZQpdSXCFP oAhs0pQK2HemnO5SOkgCdocQ2UcWhJDFobWhhDzaTiOT4KwKch/l/aZgoEF1uZQ23Y h5Q1YEF5pj60g== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id A394E180034 for ; Wed, 28 Aug 2024 13:37:14 +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.1 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_MISSING,RCVD_IN_DNSWL_LOW, SPF_HELO_PASS,SPF_NONE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from fhigh7-smtp.messagingengine.com (fhigh7-smtp.messagingengine.com [103.168.172.158]) (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, 28 Aug 2024 13:37:14 +0000 (UTC) Received: from phl-compute-03.internal (phl-compute-03.nyi.internal [10.202.2.43]) by mailfhigh.nyi.internal (Postfix) with ESMTP id AD34B1151BA4 for ; Wed, 28 Aug 2024 09:35:19 -0400 (EDT) Received: from phl-imap-06 ([10.202.2.83]) by phl-compute-03.internal (MEProxy); Wed, 28 Aug 2024 09:35:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= garfieldtech.com; 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=fm1; t=1724852119; x=1724938519; bh=/b9p0NS/dosANMts5hLnI tXG3vooQF4w34qYBDEdIOU=; b=C4aE8EFFGomagv97Am8EJLJmDRv+vpQ1BeZT3 UcxVXis0XW1ZmWdqUk79979lTHP0PJ9M3eYgFqxwEm3Y8MRdxThzhdwYIZ3tvew+ P1I5e7jDGfeOl3HZ8G1N0CqOH6yGqUFQCP0J71Kb0lrej9H1wTBa9zIApJgYi3Og e1OcLY4KaNLYPT4tGahS44F0A2dQj/myC1eo1yogCHyzjO8oePlGGnPrhc5/Hkkm 6JJ4VIylGqcCsC1s61rXlhXumq5t/3seNGdZnPtPQH6XV0SKi4Yoy/dzgImumGK7 2DXGeZm4Rh0o56bN1IgkrpTQvJFnzjRUZkz11voFphTBpBUxg== 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-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=1724852119; x= 1724938519; bh=/b9p0NS/dosANMts5hLnItXG3vooQF4w34qYBDEdIOU=; b=Z MKFt6xhx/oCa7ja1pRmZD53YIe3oln2C9+YOUjBLuLKHHEuaTieJSVMJ/85HqSgt 8zwwp0ECfdzXD2YYJ8nmjyP0Az+kucpThtcAjx6B31zmDumnuwr7C8tr7NRfLgdS N8Zn3+2XD05HCAfnTZaRVI3Ad82g0PBQnWYpuwJbqQfjCSO1OcNaIoZ6PQu9JPRV qC5+hUjOI+2wWUNRIU2paNm9jV4zDehZJqyAVZ3nucTV57z3/xNWqt1UOleYujvk DV9yZwX5hCe59Zs6vq7NmI4gxNoNNsBu+YBsBgBJJZe/1T0HLQDUk257XS4mKNDi SG2+zwnto4jYGUVW9Nm1Q== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeftddrudefvddgieegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggvpdfu rfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnh htshculddquddttddmnecujfgurhepofggfffhvffkjghfufgtgfesthejredtredttden ucfhrhhomhepfdfnrghrrhihucfirghrfhhivghlugdfuceolhgrrhhrhiesghgrrhhfih gvlhguthgvtghhrdgtohhmqeenucggtffrrghtthgvrhhnpeduvdelledugeetjeeugfej feevvdfgffehfefgffektddtueejffevtdefuddvfeenucffohhmrghinhepphhhphdrnh gvthdpughirghtrgigihhsrdhfrhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgr mhepmhgrihhlfhhrohhmpehlrghrrhihsehgrghrfhhivghlughtvggthhdrtghomhdpnh gspghrtghpthhtohepuddpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepihhnthgv rhhnrghlsheslhhishhtshdrphhhphdrnhgvth X-ME-Proxy: Feedback-ID: i8414410d:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 555D029C0066; Wed, 28 Aug 2024 09:35:19 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net x-ms-reactions: disallow MIME-Version: 1.0 Date: Wed, 28 Aug 2024 08:34:57 -0500 To: "php internals" Message-ID: <819bcfbb-b747-4ed1-a878-bf5a8e00935e@app.fastmail.com> In-Reply-To: <6B084580-CEFA-45A3-8221-944B9502B745@getmailspring.com> References: <663bea3c-a8e7-4881-2bcb-971a96dea9cb@php.net> <6B084580-CEFA-45A3-8221-944B9502B745@getmailspring.com> Subject: Re: [PHP-DEV] [RFC] [Discussion] Using and Mentioning Third-party Packages in PHP Documentation and Web Projects Content-Type: text/plain Content-Transfer-Encoding: 7bit From: larry@garfieldtech.com ("Larry Garfield") On Wed, Aug 28, 2024, at 2:51 AM, John Coggeshall wrote: >> And that is how you will find that the "new" languages will "win". If we >> don't promote how modern PHP Development works, then there will be more >> "PHP, a fractal of bad design" articles to come for decades. >> >> We *must* do better than this. It probably doesn't all need to be in the >> documentation (doc-en), but it absolutely belongs on our website. >> > > Hear Hear Derick!! > > I am not advocating that php.net put its finger on the scale in favor > of Laravel over others with this comment, but why php.net does not have > a documentation analog similar to how Laravel's documentation is set up > is beyond me. Useful installation instructions, sections on "How do I > do database stuff", "Security", "Filtering Data", "Installing third > party packages" etc... there are too many people who have embedded in > their brains that PHP is a badly designed language because we don't > teach or even advertise to people how to write good PHP code... as > others have mentioned as an example, the lack of even a mention of > composer on php.net is mind-blowing. > > As Derick said, back 20+ years ago PHP had amazing documentation for > the times -- miles ahead IMO than most open source projects. But the > world has moved on, developers want and need higher level documentation > that is more opinionated on not just the dry APIs available you might > use to connect to a database (for example), but how to properly connect > to a database. Back 20 years ago we had companies like Zend around who > devoted considerable resources to filling that gap for the community > (along with O'Reilly, etc.) but those entities are gone now and it is > up to the project to pick up the slack. > > I also think it's a mistake to get too caught up with the concept of > "endorsements" and people worrying that "oh gosh if php.net talks about > Laravel and Zend Framework then that means something bad for XYZ > framework" (pick your favoriate techs here). It's easily solved by > having a section on "Popular PHP Frameworks" that explains the concept > that PHP as a language doesn't embrace any particular framework, the > importance that you do generally want to embrace a framework to do > anything serious, and provide a list of popular ones that people > commonly turn to when building their apps. As for using a framework or > any other PHP-related tech in the project's codebases... I think we're > grossly overestimating how much weight that decision would carry with > the PHP community at large. Short of the PHP Project stating "X is the > official framework of PHP" (and especially if we say "We don't have an > official framework but here are good options that are very popular" > instead), the concern over the appearance of endorsements at this point > is really an invented issue rooted at least in part by historic > concerns that simply don't exist anymore. > > Coogle What a couple of people have touched on is that that all we have right now is a Reference, which is only one kind of documentation. The common zeitgeist these days says there's 4: https://diataxis.fr/ * Tutorials * How-to guides * Explanation * Reference We have a reference with gaps, and that's about it. In practice, it will be functionally impossible to write a meaningful tutorial or how-to guide that never mentions anything but php-src-provided code. Or at least the result would be sub-standard and doing the reader a disservice. I don't think I'd support a list of "popular" frameworks, but mentioning Composer, Xdebug, and PHPUnit seems a requirement for a useful modern tutorial. Admittedly, the docs team is very under-resourced right now and even the reference section has not-small holes, making maintaining even more types of documentation a potential challenge. That's something the Foundation could possibly help with. But that's not the topic at hand: The topic at hand is just "look, we should be able to mention Composer, Xdebug, and PHPUnit, OK?" On which I very much am in agreement. --Larry Garfield