Skip to content

Repository files navigation

Slim Framework 4 Skeleton Application

Deploy CircleCI codecov CodeFactor

Use this skeleton application to quickly setup and start working on a new Slim Framework 4 application. This application uses the latest Slim 4 with Slim PSR-7 implementation and PHP-DI container implementation. It also uses the Monolog logger.

This skeleton application was built for Composer. This makes setting up a new Slim Framework application quick and easy.

Install the Application

Run this command from the directory in which you want to install your new Slim Framework application.

composer create-project slim/slim-skeleton [my-app-name]

Replace [my-app-name] with the desired directory name for your new application. You'll want to:

  • Point your virtual host document root to your new application's public/ directory.
  • Ensure logs/ is web writable.

To run the application in development, you can run these commands

cd [my-app-name]
composer start

Run this command in the application directory to run the test suite

composer test

Docker

Docker is the supported way to work on this project without installing PHP locally. The image pins PHP 8.4 with Composer and Xdebug, matching what CI runs.

Start the dev server:

docker compose up slim -d

After that, open http://localhost:8080 in your browser.

The cli service is a one-shot container for Composer and PHPUnit:

docker compose run --rm cli composer install
docker compose run --rm cli composer test
docker compose run --rm cli composer outdated --direct

To run the suite with coverage, as CI does:

docker compose run --rm cli composer test -- --coverage-text

Hitting the /todos endpoints needs real Firebase credentials: copy firebase-key-template.json to public/firebase-key.json and fill in .env.development. Without them the app still boots and serves /, but /todos returns a 500.

That's it! Now go build something cool.

About

Back-end API for sample todo application

Resources

Contributing

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages