Re: [PHP-DEV] RFC: short and inner classes

2025-03-07 Thread Juris Evertovskis
On 2025-03-07 01:48, Rob Landers wrote: They're not 100% arbitrary, but mostly due to technical limitations. - One level deep: Nesting multiple levels results in ambiguous grammar. - As a parent class: This also results in ambiguity. - Abstract: If it cannot be a parent class, it doesn't make s

[PHP-DEV] Re: PHP True Async RFC

2025-03-07 Thread Edmond Dantes
Hello all. A few thoughts aloud about the emerging picture. ### Entry point into the asynchronous context Most likely, it should be implemented as a separate function (I haven't come up with a good name yet), with a unique name to ensure its behavior does not overlap with other operators. It has

Re: [PHP-DEV] PHP True Async RFC

2025-03-07 Thread Rowan Tommins [IMSoP]
On 07/03/2025 22:01, Larry Garfield wrote: Is that what you're suggesting? If so, I'd have to think it through a bit more to see what guarantees that does[n't] provide. It might work. (I deliberately used spawn instead of "await" to avoid the mental association with JS async/await.) My big

Re: [PHP-DEV] PHP True Async RFC

2025-03-07 Thread Edmond Dantes
> > A SAPI is written in C (or at least, using > the C api's) and thus can do just about anything. If it wanted to, it could swap out > the global state when switching fibers. > Probably, it's possible. However, if I'm not mistaken, $_GET and $_POST are implemented as regular PHP arrays, so if the

Re: [PHP-DEV] PHP True Async RFC

2025-03-07 Thread Rob Landers
On Sat, Mar 8, 2025, at 00:21, Rowan Tommins [IMSoP] wrote: > On 07/03/2025 22:01, Larry Garfield wrote: > > Is that what you're suggesting? If so, I'd have to think it through a bit > > more to see what guarantees that does[n't] provide. It might work. (I > > deliberately used spawn instead

Re: [PHP-DEV] PHP True Async RFC

2025-03-07 Thread Rowan Tommins [IMSoP]
On 6 March 2025 19:07:34 GMT, Larry Garfield wrote: >It is literally the same argument for "pass the DB connection into the >constructor, don't call a static method to get it" or "pass in the current >user object to the method, don't call a global function to get it." These are >decades-old

Fwd: [PHP-DEV] PHP True Async RFC

2025-03-07 Thread Edmond Dantes
> > As far as I know, all current SAPIs follow one of two patterns: > It seems that my example, although taken from real life, is more of an anti-pattern. Let's take a real example that is not an anti-pattern. There is a B2B CRM built on services. Services are classes instantiated in memory only

Re: [PHP-DEV] PHP True Async RFC

2025-03-07 Thread Rob Landers
On Thu, Mar 6, 2025, at 23:26, Rowan Tommins [IMSoP] wrote: > On 06/03/2025 11:31, Edmond Dantes wrote: > > For example, PHP has functions for working with HTTP. One of them > > writes the last received headers into a "global" variable, and another > > function allows retrieving them. This is w

Re: [PHP-DEV] PHP True Async RFC

2025-03-07 Thread Edmond Dantes
> > See, what you call "paternalistic" I say is "basic good usability." > Affordances are part of the design of everything. Good design means making doing the > If we worry about "intuitive usability", we should ban caching, finite state machines, and of course, concurrency. Parallelism? Not just

Re: [PHP-DEV][RFC][VOTE] Add mb_levenshtein function

2025-03-07 Thread youkidearitai
2025年2月23日(日) 0:10 youkidearitai : > > 2025年2月21日(金) 17:27 Tim Düsterhus : > > > > Hi > > > > Am 2025-02-21 08:51, schrieb youkidearitai: > > > I started voting for add mb_levenshtein. > > > https://wiki.php.net/rfc/mb_levenshtein > > > > Thank you for your RFC. I have voted “No”, due to the reason

Re: Fwd: [PHP-DEV] PHP True Async RFC

2025-03-07 Thread Rowan Tommins [IMSoP]
On 07/03/2025 08:48, Edmond Dantes wrote: There is a B2B CRM built on services. Services are classes instantiated in memory only once via DI, and all that. We process requests. Requests are executed within a logical *Scope*. The scope depends on the *TOKEN* and reflects the following entities:

Re: Fwd: [PHP-DEV] PHP True Async RFC

2025-03-07 Thread Edmond Dantes
> > This sounds like you are not using DI meant for fibers/multiple requests at the same time. > Spiral already supports DI containers based on *Scope *(like "per request" injections). Symfony, if I’m not mistaken, does too. Spiral introduces a restriction to ensure correct handling of Scope depe

Re: [PHP-DEV] PHP True Async RFC

2025-03-07 Thread Rowan Tommins [IMSoP]
On 07/03/2025 09:24, Edmond Dantes wrote: Now, imagine a case where we need to create a coroutine not tied to the parent. To do this, we have to define a separate function or syntax. Such a coroutine is created to perform an action that must be completed, even if the parent coroutines are not f

Re: [PHP-DEV] PHP True Async RFC

2025-03-07 Thread Larry Garfield
On Fri, Mar 7, 2025, at 3:39 AM, Rowan Tommins [IMSoP] wrote: > On 6 March 2025 19:07:34 GMT, Larry Garfield wrote: >>It is literally the same argument for "pass the DB connection into the >>constructor, don't call a static method to get it" or "pass in the current >>user object to the method, d