Skip to content

Example REST API based on Symlex Core

License

Notifications You must be signed in to change notification settings

symlex/rest-api

Repository files navigation

Example REST API based on Symlex Core

License: MIT Documentation Community Chat

Before you start, make sure you have PHP 7.2+, 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.

Our main repository shows how to use Symlex with RoadRunner for additional performance.

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.

Make sure storage/cache is writable so that cache files can be created by the app.

Step 2: Start nginx and PHP using docker-compose:

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.

Step 3: Open http://localhost:8088/example/123 in a browser (source).

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 app/config/rest.yml.

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.

About

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 [email protected] 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.

Donations

Symlex is a non-profit project run entirely by volunteers. You're most welcome to support us via GitHub Sponsors, especially if you need help with using our software. They will match every donation in the first year.

Please leave a star if you like this project, it provides additional motivation to keep going. Thank you very much! <3