The PHP toolchain at a glance
Every program so far has been one main.php run with php main.php. A real PHP application is hundreds of classes, dozens of libraries, a database, a cache, a web server and a test suite. A job listing that says "PHP" nearly always means PHP plus Composer, a framework (usually Laravel or Symfony), MySQL or PostgreSQL, and Docker. These labs show the smallest real version of each. Most of the code uses libraries or servers, so it is shown as static snippets; where the idea can run on plain PHP (autoloading, a service container, a transaction, cache-aside) there is a verified example as well.
| Tool | Job | You meet it when |
|---|---|---|
| Composer | Install libraries, autoload classes, run scripts | Day one of any PHP job |
| Laravel / Symfony | Routing, controllers, ORM, validation, dependency injection | Almost every PHP web role |
| PDO + MySQL / PostgreSQL | Store and query data | Any app that keeps data |
| Redis | Cache, sessions, queues, rate limits | As soon as a page gets slow |
| PHPUnit (and Pest) | Automated tests | Every pull request |
| Docker + Nginx + PHP-FPM | Run the same stack on every machine and server | Local setup and deployment |
| Git + GitHub Actions + PHPStan | Version control, CI, static analysis | Every day |
