51 Followers
5 Following
13 Posts
Asynchronous concurrency made simple.
Githubhttps://github.com/amphp
Twitterhttps://twitter.com/asyncphp
Documentationhttps://v3.amphp.org
Sponsor Ushttps://github.com/sponsors/amphp

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. πŸš€

https://github.com/amphp/http-server-form-parser

GitHub - amphp/http-server-form-parser: An HTTP server plugin that simplifies form data handling. Effortlessly parse incoming form submissions and extracting its data.

An HTTP server plugin that simplifies form data handling. Effortlessly parse incoming form submissions and extracting its data. - GitHub - amphp/http-server-form-parser: An HTTP server plugin that ...

GitHub

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

http://github.com/amphp/http-server

The example attached 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.

GitHub - amphp/http-server: A non-blocking HTTP application server for PHP based on Revolt.

A non-blocking HTTP application server for PHP based on Revolt. - GitHub - amphp/http-server: A non-blocking HTTP application server for PHP based on Revolt.

GitHub

Announcing v2.0 of amphp/socket compatible with AMPHP v3 and fibers! 🎊

https://github.com/amphp/socket/releases/tag/v2.0.0

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.

Release 2.0.0 Β· amphp/socket

Stable release compatible with AMPHP v3 and fibers! πŸŽ‰ As with other libraries compatible with AMPHP v3, most cases of parameters or returns of Promise<ResolutionType> have been replaced with Resolu...

GitHub

Announcing v2.0 of amphp/dns compatible with AMPHP v3 and fibers! πŸŽ‰

https://github.com/amphp/dns/releases/tag/v2.0.0

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.

Release 2.0.0 Β· amphp/dns

Stable release compatible with AMPHP v3 and fibers! πŸŽ‰ As with other libraries compatible with AMPHP v3, most cases of parameters or returns of Promise<ResolutionType> have been replaced with Resolu...

GitHub

Thanks to our new sponsor @danog, a maintainer of @psalm!

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 new tools, features, and fix bugs!

https://github.com/sponsors/danog
https://github.com/sponsors/amphp

Sponsor @danog on GitHub Sponsors

Support danog’s open source work

GitHub

Announcing v2.0 of amphp/process compatible with  AMPHP v3 and fibers! πŸš€

https://github.com/amphp/process/releases/tag/v2.0.0

The process package provides cross-platform #async execution and communication with child processes from #PHP. Awaiting output from a process in a coroutine will not prevent receiving output from another process in another coroutine!

This example pings 5 hosts concurrently in 5 separate child processes. Output from STDOUT of each process is piped to STDOUT in the parent process.

Release 2.0.0 Β· amphp/process

Stable release compatible with AMPHP v3 and fibers! πŸŽ‰ As with other libraries compatible with AMPHP v3, most cases of parameters or returns of Promise<ResolutionType> have been replaced with Resolu...

GitHub

We've tagged v2.0 of amphp/byte-stream, providing a set of stream interfaces and composable implementations compatible with AMPHP v3 and fibers! πŸŽ‰

https://github.com/amphp/byte-stream/releases/tag/v2.0.0

The script below reads a gzip stream from stdin, writing the decompressed bytes to stdout.

Release 2.0.0 Β· amphp/byte-stream

Initial beta release compatible with AMPHP v3 and fibers. There are a number of renaming and compatibility breaks with 1.x versions: Added interface ResourceStream InputStream has been renamed to ...

GitHub

Announcing amphp/sync v2.0 which provides synchronization tools compatible with  AMPHP v3! 🎊

https://github.com/amphp/sync/releases/tag/v2.0.0

Synchronize data access across #async coroutines in one process or share data among multiple #PHP processes! Use semaphores, mutexes, channels, or a parcel as in the example.

Release 2.0.0 Β· amphp/sync

Stable release compatible with AMPHP v3 and fibers! πŸŽ‰ As with other libraries compatible with AMPHP v3, most cases of parameters or returns of Promise<ResolutionType> have been replaced with Resolu...

GitHub

Announcing v1.0 of amphp/pipeline, a new library using #PHP fibers and AMPHP v3 to create #async sets and concurrent iterators!

https://github.com/amphp/pipeline/releases/tag/v1.0.0

The example creates a set of values from 0 to 99, consumes the values concurrently in multiple fibers, collecting all values to a single iterator which is used in the foreach.

Release 1.0.0 Β· amphp/pipeline

Initial stable release πŸŽ‰ Changes from 1.0.0 Beta 7 Marked ConcurrentArrayIterator, ConcurrentChainedIterator, and ConcurrentIterableIterator as @internal. Instead of these classes, use Pipeline::f...

GitHub

There are many, many more libraries compatible with AMPHP v3 with beta releases available now. We'll be tagging stables of those libraries in the coming weeks.

Actually we tagged one already, amphp/phpunit-util

https://github.com/amphp/phpunit-util/releases/tag/v3.0.0

Release 3.0.0 Β· amphp/phpunit-util

This package has been redesigned for compatibility with AMPHP v3 and fibers. AsyncTestCase serves a similar purpose as before, providing helper methods for unit testing within an async context. Eac...

GitHub