Slim is the 2nd fastest api server in the planet, next to Phalcon.
This is a simple skeleton project for Slim 3 that implements a simple REST API.
- Uses syslog for Google compatible logging. syslog(LOG_INFO, 'Authorized access'); / syslog(LOG_WARNING, "Unauthorized access");
- Specially oriented to develop Restful APIs using JSON
- API Rate limiter middleware, for throttling excesive requests. [https://github.com/akirk/php-ratelimiter]
- Auto Logout on invalid Bearer Token - using middleware on routes
$this->delete('/{id}', 'UsersController:delete')->add('Restrict:AccessToken');
Here is how i did it:
composer require slim/slim "^3.0"
{
"require": {
"slim/slim": "^3.7"
},
"autoload": {
"psr-4": {
"Controllers\\": "src/controllers/",
"Libs\\": "src/libs/"
}
}
}
composer.phar install --no-dev -o
api\src\
api\src\controllers\
api\src\libs\
api\src\libs\main.php
api\src\libs\ratelimiter.php
api\src\libs\restrict.php
api\src\dependencies.php
api\src\middlewares.php
api\src\routes.php
api\src\settings.php
- download and extract [https://github.com/pjabadesco/slim-restapi-gae/archive/master.zip]
- cd api
- composer dump-autoload --no-dev -o
- cd ..
- edit & save app.yaml (put correct environment values)
- dev_appserver.py ./app.yaml
dev_appserver.py ./app.yaml
gcloud source repos clone default --project={{YOUR PROJECT ID}}
gcloud app deploy ./app.yaml --project {{YOUR PROJECT ID}}
every time you make changes in SLIM's routes.php, you must run:
composer dump-autoload --no-dev -o