Making Async Applications

You’ve probably been to a couple talks, about how to do “asynchronous things” with PHP. What the experts don’t tell you is that the hard part starts when you need to build an application.

Sure, there are tools for starting an HTTP server or connecting to a web socket. But what about when you need to write to a database or send an email. You go searching for good tutorials, and all you get is API documentation; about how to use each component in isolation.

Say goodbye to that frustration. In this workshop, I’m going to show you how to build an entirely asynchronous, high-concurrency PHP application. We’ll bring those isolated components together, to build a real application.

Some topics we’ll cover:

  • HTTP servers and routing
  • Watching for file changes, and restarting the server daemon
  • Understanding generators and promises
  • Adding new and useful syntax (to the PHP language) for async applications
  • Testing asynchronous code
  • Working with databases
  • Validating request parameters and formatting responses
  • Using front-end frameworks, like ReactJS
  • Making requests to the server (including CORS)
  • Connecting through web sockets
  • Making async HTTP requests, from your server to third-party services
  • Forking and multithreading
  • Reading and writing files
  • Deploying and hosting, with TLS


What you’ll need to bring for the tutorial

Participants will need to have a working version of PHP 7.1+ and MySQL installed on their computer. Without it, they will not be able to code along. Virtualisation and/or setup time is NOT included in the workshop schedule, but I am happy to meet with individuals before/after the workshop to help them get things set up.

Get your tutorial ticket now at

By: Christopher Pitt