This is an example of implementation based on Domain Driven Design and framework agnostic.
This design has concentrated focus on the folder domain.
The same uses the container and route packages of "the league php" to manage the requests and responses.
Via Composer
$ composer install
Start embedded server
$ php -S localhost:8080 -t public/ public/index.php
Using your browser
http://localhost:8080