/slim4-skeleton

A Slim 4 Skeleton

Primary LanguagePHPMIT LicenseMIT

Slim 4 Skeleton

Latest Version on Packagist Software License Build Status Coverage Status Quality Score Total Downloads

This is a skeleton to quickly set up a new Slim 4 application.

Requirements

  • PHP 7.2+ or 8.0+
  • MySQL 5.7+ or MariaDB
  • Composer (only for development)

Recommended

  • Apache with mod_rewrite
  • Apache Ant to build deployment artifacts

Features

This project is based on best practices and industry standards:

  • HTTP message interfaces (PSR-7)
  • HTTP Server Request Handlers, Middleware (PSR-15)
  • HTTP factories (PSR-17)
  • HTTP router and dispatcher (Slim)
  • Dependency injection container (PSR-11)
  • Modern coding style (PSR-1, PSR-12)
  • PHPDoc standard (PSR-5, PSR-19)
  • Autoloading (PSR-4)
  • Logging (PSR-3)
  • Standard PHP package skeleton
  • Single action controllers (ADR)
  • Console Commands (Symfony)
  • Input validation
  • Migrations (Phinx)
  • SQL Query Builder (CakePHP)
  • Phinx Migrations Generator
  • Immutable date and time (Chronos)
  • Unit- and integrations tests (PHPUnit)
  • Tested with Github Actions and Scrutinizer CI
  • PHPStan (Level: max)
  • Build and deployment scripts
  • Docker container with Xdebug support for PhpStorm
  • Swagger OpenAPI documentation

Screenshot

screely-1611483778132

Usage

This project is only a skeleton-project and not a "framework". You can clone it to modify it as you wish. For example, it's possible to replace the existing QueryBuilder with another component.

Support

Contributing

Please create an issue first, so we can discuss it in advance.

License

The MIT License (MIT). Please see License File for more information.