Computer programmer, photographer, and coffee lover. Maintainer of @asyncphp, a library for writing async code in PHP using promises and coroutines.

Minnesota, USA
Joined June 2011
Aaron Piotrowski retweeted
Thank you to our newest sponsor github.com/nayleen! We really appreciate every contribution toward our efforts to bring #async #PHP forward. Consider sponsoring AMPHP if you use it in one of your projects. Thank you to everyone who supports us! github.com/sponsors/amphp
3
4
742
Aaron Piotrowski retweeted
amphp/http-client v5.0.0 released. github.com/amphp/http-client…
6
1
18
2,511
Aaron Piotrowski retweeted
Continuing our series of accessory libraries compatible with amphp/http-server v3 and AMPHP v3, we've tagged v2 of amphp/http-server-form-parser. 🎉 This helper library provides a utility to parse url-encoded form requests or stream large files from multipart/form-data requests. This provides functionality similar to $_POST and $_FILES for an #async #PHP HTTP server using AMPHP. 🚀 github.com/amphp/http-server…
2
12
1,369
Aaron Piotrowski retweeted
amphp/http-server-session v3.0.0 released. github.com/amphp/http-server…
5
11
1,337
Aaron Piotrowski retweeted
amphp/redis v2.0.0 released. github.com/amphp/redis/relea…
7
15
1,793
Aaron Piotrowski retweeted
On the heels of last weeks release of amphp/http-server v3, we're working to tag stable releases of the "accessory" libraries. 🛠️ First up is amphp/http-server-router using nikic/fast-route to provide routing for your application. Incoming HTTP requests are directed to various request handlers based on their path. Routes may define parameters constrained using regex. Parameter values are available in request attributes. github.com/amphp/http-server…
2
4
30
4,047
Aaron Piotrowski retweeted
Announcing a huge milestone for the AMPHP project – the release of amphp/http-server v3.0, compatible with AMPHP v3 and fibers! 🎉 amphp/http-server provides a non-blocking, concurrent HTTP/1.1 and HTTP/2 application server for #PHP github.com/amphp/http-server The example above is based on hello-world.php found in the examples directory. It demonstrates the basics of wiring up a simple HTTP server replying with "Hello, World!" to each request.
5
31
1
92
10,342
Aaron Piotrowski retweeted
It's incredible how many smooth upgrades have been made possible through my parameter type widening change. I didn't see the potential at the time of writing the RFC, but @nikita_ppv did. Time flies!
#PSR7 just got 2 new tags! The evolution vote passed, and we got: 1.1 with argument types 2.0 with return types Both require PHP 7.2; more details available in the PSR meta doc, section 7.2, "Type additions": php-fig.org/psr/psr-7/meta/#…
2
5
1,754
Aaron Piotrowski retweeted
Announcing v2.0 of amphp/parallel, compatible with AMPHP v3 and fibers! 🎉 amphp/parallel provides true parallel processing for #PHP using multiple processes or threads, without blocking, no extensions required. Below is an example with parent and child scripts communicating.
2
16
1
40
5,236
Aaron Piotrowski retweeted
amphp/parallel v2.0.0 released. github.com/amphp/parallel/re…
4
1
11
1,686
Aaron Piotrowski retweeted
Announcing v2.0 of amphp/socket compatible with AMPHP v3 and fibers! 🎊 github.com/amphp/socket/rele… This package builds on our stream interfaces to create socket servers and client connections. The example creates a basic HTTP server, replying with the IP and port of the client.
5
1
33
2,828
Aaron Piotrowski retweeted
Calling all #PHP developers! We want to hear about your usage of @asyncphp and how it has helped you in your projects. Share your story with us and be featured on our blog!
1
9
15
1,793
Aaron Piotrowski retweeted
Announcing v2.0 of amphp/dns compatible with AMPHP v3 and fibers! 🎉 github.com/amphp/dns/release… The DNS package implements basic #async DNS resolution in #PHP. Use it for resolving domain names to a host or query any DNS record type, such as MX records as in the example below.
7
11
953
Aaron Piotrowski retweeted
Thanks to our new sponsor @DaniilGentili, a maintainer of @psalmphp! We use Psalm in AMPHP and our own applications to catch bugs and improve code quality. Sponsoring AMPHP or a Psalm maintainer provides more resources to develop! github.com/sponsors/danog github.com/sponsors/amphp
2
8
600
Aaron Piotrowski retweeted
Announcing v2.0 of amphp/process compatible with AMPHP v3 and fibers! 🚀 github.com/amphp/process/rel… The process package provides #async execution and communication with child processes from #PHP. This example pings 5 hosts concurrently in 5 separate child processes.
6
20
1,143
Aaron Piotrowski retweeted
We've tagged v2.0 of amphp/byte-stream, providing a set of stream interfaces and composable implementations compatible with AMPHP v3 and fibers! 🎉 github.com/amphp/byte-stream… The script below reads a gzip stream from stdin, writing the decompressed bytes to stdout.
1
3
1
6
1,484
Aaron Piotrowski retweeted
Announcing amphp/sync v2.0 which provides synchronization tools compatible with AMPHP v3! 🎊 github.com/amphp/sync/releas… Sync data access across #async coroutines in one process or share data among multiple #PHP processes! Use semaphores, channels, or a parcel as in the example.
1
3
13
1,600
Aaron Piotrowski retweeted
Announcing v1.0 of amphp/pipeline, a new library using #PHP fibers and AMPHP v3 to create #async sets and concurrent iterators! github.com/amphp/pipeline/re… The example creates a set of values from 0 to 99, consumes concurrently in multiple fibers, collecting to a single iterator.
10
32
2,625
Aaron Piotrowski retweeted
🎉 We're excited to announce that v3.0 of AMPHP has been released! 🥳 This marks a major milestone for AMPHP and the #async #PHP community. v3 creates coroutines using Fibers instead of Generators and is based on the @revoltphp event-loop. github.com/amphp/amp/release…
1
9
1
32
1,811
Aaron Piotrowski retweeted
amphp/amp v3.0.0 released. github.com/amphp/amp/release…
7
18
1,855