Before you start, make sure you have PHP 7.1+, Composer and Docker installed on your system (howto for Mac OS X). Instead of using Docker, you can set up your own runtime environment based on the existing Dockerfiles. We recommend using Nginx with PHP-FPM and URL rewrite rules similar to Symfony.
Step 1: Run
composer to create a new project:
composer create-project symlex/rest-api myapp
Composer will ask for config values to generate
app/config/parameters.yml for you.
storage/cache is writable so that cache files can be created by the app.
Step 2: Start nginx and PHP using
cd myapp docker-compose up
Note: This docker-compose configuration is for testing and development purposes only. You might need to tweak it if you run Docker with a different user for security reasons. On OS X, the current release of Docker is really slow in executing PHP from the host's file system.
To open a terminal, run
docker-compose exec php sh.
YAML files located in
app/config configure the app based on parameters and services.
The main config file is
If you add
localhost-debug to your
/etc/hosts and access the site with that, it will load in debug
mode (you'll see a stack trace and other debug information on the error pages).
Our complete framework documentation can be found on docs.symlex.org.
Symlex is maintained by Michael Mayer and aims to simplify agile Web development by providing a working system that promotes best practices by example. Michael released his first PHP framework in 2001 and has worked with various major framework vendors in the past. Building this would not have been possible without a lot of prior work by other developers. Thank you to those and everyone who contributed!
Choice is the enemy of productivity. Put another way, if your solution does everything, and has no opinions about anything, then it solves nothing. ― Asim Aslam
Feel free to send an e-mail to firstname.lastname@example.org if you have any questions, need commercial support or just want to say hello. We welcome contributions of any kind. If you have a bug or an idea, read our guide before opening an issue.