Re: [PHP-DEV] Add viable long running execution model to php 8

2020-01-25 Thread Mike Schinkel
> On Jan 25, 2020, at 5:35 PM, Dik Takken wrote: > > Go channels are about solving problems related to true concurrency: > Multiple threads concurrently handling requests in a single shared > memory environment. I think Robert is talking about sequential request > handling in a single shared memo

Re: [PHP-DEV] Add viable long running execution model to php 8

2020-01-25 Thread Dik Takken
On 25-01-2020 23:03, Mike Schinkel wrote: > Then we could look to prior art with GoLang channels where they "Communicate > to share memory" and do not "Share memory to communicate." IOW, add an API > that allows a regular PHP page to communicate with a long-running page. This > would decouple

Re: [PHP-DEV] Add viable long running execution model to php 8

2020-01-25 Thread Dik Takken
On 24-01-2020 10:29, Robert Hickman wrote: > PHP is pretty unusual in comparison to most web platforms nowadays as it > runs each request in an isolated process. Web development in other > languages is instead based around a long lived set of processes, which > serve multiple requests. The shared-

Re: [PHP-DEV] Add viable long running execution model to php 8

2020-01-25 Thread Mike Schinkel
On Jan 25, 2020, at 3:44 PM, Rowan Tommins wrote: > > On 25/01/2020 18:51, Robert Hickman wrote: > >> Yes that is what I was thinking, for example there is a userspace >> implementation >> 'Swoole' that works in the following way, ReactPHP is similar although I >> won't >> include that example

Re: [PHP-DEV] Add viable long running execution model to php 8

2020-01-25 Thread Rowan Tommins
On 25/01/2020 18:51, Robert Hickman wrote: Yes that is what I was thinking, for example there is a userspace implementation 'Swoole' that works in the following way, ReactPHP is similar although I won't include that example as well. So trying to get concrete: the first "official" component we

Re: [PHP-DEV] Add viable long running execution model to php 8

2020-01-25 Thread Robert Hickman
Hi Rowan > Could you share some more thoughts on what you are thinking of here? I'm > guessing you're thinking along the lines of an "event-based" system, > where each request is a function call, rather than a whole script > invocation? Yes that is what I was thinking, for example there is a user

Re: [PHP-DEV] Add viable long running execution model to php 8

2020-01-25 Thread Rowan Tommins
On 24/01/2020 09:29, Robert Hickman wrote: PHP is pretty unusual in comparison to most web platforms nowadays as it runs each request in an isolated process. Web development in other languages is instead based around a long lived set of processes, which serve multiple requests. That model has ad

Re: [PHP-DEV] Typed array properties V2

2020-01-25 Thread Midori Koçak
Given this orientation, can we also have this debated once more? https://wiki.php.net/rfc/callable-types Right now, I am using 7.4.2 in production and in my next book and I cannot explain how it feels good to have those types but along with the loosely typed freedom. That's the killer advantage o

Re: [PHP-DEV] Typed array properties V2

2020-01-25 Thread Rowan Tommins
On 25/01/2020 00:12, Mike Schinkel wrote: So saying "use a static analyzer" is IMO just pointing out an overall weakness that PHP can't automatically do static analysis on its own. I'd just like to repeat that you and Rasmus are in agreement here. He didn't say "PHP doesn't need to change bec

Re: [PHP-DEV] Re: A Hacker's Guide - Obsolete

2020-01-25 Thread Paul M. Jones
> On Jan 25, 2020, at 07:23, Adiel Cristo wrote: > > I'm committed with learning the minimum necessary to having at least a > simple documentation, and I already started that, although with a long delay > from > what I planned due to other projects, but I'm working on it. That sounds like a

Re: [PHP-DEV] Re: A Hacker's Guide - Obsolete

2020-01-25 Thread Adiel Cristo
Yep! I still believe that having only external references about the internals of PHP works against us, in the sense that as we develop the language, we should be the first ones to provide the documentation about how to do it. We have a great user documentation, thank you guys for that, and I'm pr