Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129430 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 2261D1A00BC for ; Mon, 24 Nov 2025 12:15:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1763986525; bh=pFV4QLPyDv3o6sx1ru9rNaJexXvz3u4H2JnDEO9Vui4=; h=References:In-Reply-To:From:Date:Subject:To:From; b=m1GtkfQ9GWedgBlF6bHR4nhNGNwhdtwGB71L5nZ0+ZlGKAdtINs+Duh3Qwia706nc uNWU1qxKhoWPTk/gu1pptIax+0uIz7OWbY7lN49jGpCLx+Y2vR7Awt5/RtGtAJBR4D FYW7Lp1f+N/awWPBIvAYMn8bJ9lo3u8GYHHuCaFfGbS4h2L6Rz9iNVJpb/QyTuHag+ xzD3fEFX4TKsJNF2YWlCEt/+5ZaytvOpqerHffFzY2vyXIDUtevK6psE+/5da68pnW 9ePZ5sn6UKL+T7Kv9kr0zgRYVMqO2zni+5Fyv0MzrfvYze2aL+quIQDgPkxKOKyVVY cAlhNjg+X4kpw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 2A6A0180055 for ; Mon, 24 Nov 2025 12:15:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DMARC_MISSING,HTML_MESSAGE,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) (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 ; Mon, 24 Nov 2025 12:15:23 +0000 (UTC) Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-3418ad69672so2594135a91.3 for ; Mon, 24 Nov 2025 04:15:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=croquemonsieur-be.20230601.gappssmtp.com; s=20230601; t=1763986517; x=1764591317; 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=2oyPD5UoXHEZAcOTI5fOefvpW23esYErrkl7vVzJUGg=; b=c85sGnuewGE1JO1KM0P6O5bgCeQHykvedOo8AlOBlncoeUAFFPA851KgHx+KPVZ54W m/8HX4oIIqVLFgKamiQxIRkMqEcb3I+66iYS/ktit2A6RPxJuUMInTNWL3Sn+hXB/yM9 fVrZkfqxYujGtjo51CQzaJ5u4ObSNciCH78VZ1ZWWveJMhVhrUda9f4inJbEa7z6gpVn i7eSwcenxAz5MvOas9QitGH0XaOsuTSRzDaB7Day98vxpSXUg/RfKWTasI879dIyY1ee SokFTtMzNNnlFXhJTpWQ3EftHlcLO1qKcK3hI/0WWFrM5cLqH8DLvb7VgXS6tNVwTlnE SsYw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763986517; x=1764591317; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=2oyPD5UoXHEZAcOTI5fOefvpW23esYErrkl7vVzJUGg=; b=sXGpK4FiVG+h6j849b7jzns/KxRKFHURuAy5e4jjwmLhRmMQ92kRDg8+i13XmLrrH7 Mzx+2GDK20R7nm3MeClBZJ7/41zA+6jDNUC+mllAuQYY7+Es94w38ULikeYFQanpePKn AFCugBM9u0sn5pZg9TBH7P6G5tFo12Ebm+zG4I09x8mlEh1A6CSSazd3oxPLjc9wb5NO NmLRecKwo3fuSFdc+XP39EzvZRsjHHELlnivoCf48qEmSH1grXY/f3akmPPzz+ChzVKF h49fAA9FBBMOlVe94xKYWphNcIPC3bM4pYFJbNTiJoo402WgtDnPUQWhwo2syVYDyPba gDZA== X-Gm-Message-State: AOJu0YyFbriK7ie5EJ+qUdViJpWh1t406or0w1vSV/ZVWcpXh+fxgFap qFlPSbevDxaZgJJy627H2Mw+9DuW5gr9jVkc6yPPpYb7Fs79WTcNfbeI+gAxmqa6m57oV0eb1ik U4IyrtVMHy1jW9jtc6EdN80Q7J3QGKbQ/FpFuTgeQqlXfywtNW/mZkfKcXw== X-Gm-Gg: ASbGncu9US+6ePKIkvqFkQHELa1Dz3YAJj01Dp0hw6/2j7Z1nLxk6G9XeHQILb+R07Y 3z1Y8eOqRu2Uhy3SeET5dupzNiU6EeoY689zw0v7Ds3/pg59mt/MiXTKxb+azt01b3vQU67oPBJ qKh3esQRyi3nM3l9lkRwPdMN+LBm9tO0yehggQ3irIKoRwuCF2dxZAi/1szJZSW5rsoXs2I/c4D yArsoE84uRGvNYZ+GJ/in/jYs2URXTRF9tZu+Xt3rEz6UPoSGi6KwTjM+mih4kRiCocx6UTc9io XaqtSkqyM0daGmnI26pO/DwTJKEYuGyIF5+DdxE= X-Google-Smtp-Source: AGHT+IEx3jpE5LDR1hzXMQEZ3RpOfsq8NHXVoeGJRMR0KBFQr/nhR0eGOTCcnzzZzGtCyDb1Mz+swkr8W7I1S7D+Y/g= X-Received: by 2002:a17:90b:578c:b0:341:2141:df76 with SMTP id 98e67ed59e1d1-34733e734f9mr10540333a91.13.1763986517295; Mon, 24 Nov 2025 04:15:17 -0800 (PST) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: <1402906904.784903.1763811759896@email.ionos.de> <2015208655.784984.1763811978476@email.ionos.de> <980296152.1071.1763813573083@email.ionos.de> <92865666.4510.1763818506332@email.ionos.de> <329450798.8037.1763822426377@email.ionos.de> <9287c46c-bc63-4dd0-9792-0f9421959589@rwec.co.uk> <751A13E5-79AC-47C2-AFC7-A3B0AD69CA71@rwec.co.uk> In-Reply-To: <751A13E5-79AC-47C2-AFC7-A3B0AD69CA71@rwec.co.uk> Date: Mon, 24 Nov 2025 13:15:05 +0100 X-Gm-Features: AWmQ_bknXDDI6TOhFy_May1KL_KXFRC3paqCBMKj4rhiZyeAftwuktGev3sln2U Message-ID: Subject: Re: [PHP-DEV] [VOTE] True Async RFC 1.6 To: internals@lists.php.net Content-Type: multipart/alternative; boundary="000000000000c095140644561d70" From: bart+php@croquemonsieur.be (Bart Vanhoutte) --000000000000c095140644561d70 Content-Type: text/plain; charset="UTF-8" > > Will Legacy Les see a side effect when he upgrades to SDK Susie's new > async library? For clarity, Susie's code has turned from something sync like: ``` function getFoo(): Foo { $resultOne = sendHttpRequest('one'); $resultTwo = sendHttpRequest('two'); return new Foo($resultOne, $resultTwo); } ``` into something async like: ``` function getFoo(): Foo { $results = await Async\all([ spawn sendHttpRequest('one'), spawn sendHttpRequest('two') ]); return new Foo($results[0], $results[1]); } ``` Is that correct Rowan? Op ma 24 nov 2025 om 12:56 schreef Rowan Tommins [IMSoP] < imsop.php@rwec.co.uk>: > On 24 November 2025 01:18:13 GMT, Deleu wrote: > > >If I could summarize months of discussion on this RFC, the primary topic > >would be the consensus that we do not want to have a split in the > >community. If every PHP package needs an adapter to be async compatible > >that essentially means the efforts to not break the community in half has > >failed. > > Yes, this was precisely the point of my "SDK Susie" user story: Susie is > not interested in maintaining multiple libraries for different parts of the > community, she just wants her API to be usable by as many PHP developers as > possible. > > If she can't use async I/O without breaking Legacy Les's application, she > will simply not use it. Async Alice might write her own code for the API > calls she needs, but won't want to maintain a fork of the entire library. > Beginner Bob will use the official library and not get any async benefits. > > This is basically the situation we already have, with Async Alice using > Swoole or ReactPHP. > > > > Rowan Tommins > [IMSoP] > --000000000000c095140644561d70 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Will Leg= acy Les see a side effect when he upgrades to SDK Susie's new async lib= rary?

For clarity, Susie's code has tur= ned from something sync like:

```
functi= on getFoo(): Foo
{
=C2=A0 $resultOne =3D sendHttpRe= quest('one');
=C2=A0 $resultTwo =3D sendHttpRequest('= two');

=C2=A0 return new Foo($resultOne, $resu= ltTwo);
}
```

into something a= sync like:

```
function getFoo(): Foo
{
=C2=A0=C2=A0$results =3D await Async\all([
=C2=A0 = =C2=A0 spawn sendHttpRequest('one'),
=C2=A0 =C2=A0 spawn sendHtt= pRequest('two')
=C2=A0 ]);

=C2=A0 return new Foo($results= [0], $results[1]);
}

```
=C2=A0
Is tha= t correct=C2=A0Rowan?




Op ma 24 n= ov 2025 om 12:56 schreef Rowan Tommins [IMSoP] <imsop.php@rwec.co.uk>:
On 24 November 2025 01:18:13 GMT, Deleu <<= a href=3D"mailto:deleugyn@gmail.com" target=3D"_blank">deleugyn@gmail.com> wrote:

>If I could summarize months of discussion on this RFC, the primary topi= c
>would be the consensus that we do not want to have a split in the
>community. If every PHP package needs an adapter to be async compatible=
>that essentially means the efforts to not break the community in half h= as
>failed.

Yes, this was precisely the point of my "SDK Susie" user story: S= usie is not interested in maintaining multiple libraries for different part= s of the community, she just wants her API to be usable by as many PHP deve= lopers as possible.

If she can't use async I/O without breaking Legacy Les's applicatio= n, she will simply not use it. Async Alice might write her own code for the= API calls she needs, but won't want to maintain a fork of the entire l= ibrary. Beginner Bob will use the official library and not get any async be= nefits.

This is basically the situation we already have, with Async Alice using Swo= ole or ReactPHP.



Rowan Tommins
[IMSoP]
--000000000000c095140644561d70--