odan / psr7-skeleton
A skeleton project for PSR-7 and PSR-15
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 2
Forks: 1
Open Issues: 0
Type:project
Requires
- php: ^7.2
- cakephp/chronos: ^1.2
- cakephp/database: ^3.7
- fig/http-message-util: ^1.1
- league/container: ^3.2
- league/route: ^4.2
- monolog/monolog: ^1.18
- nyholm/psr7: ^1.1
- nyholm/psr7-server: ^0.3.0
- odan/csrf: ^3.0
- odan/phinx-migrations-generator: ^4
- odan/session: ^3.1
- odan/twig-assets: ^2.1.1
- odan/twig-translation: ^1.2
- psr/log: ^1.1
- symfony/console: ^4
- symfony/translation: ^4
- zendframework/zend-httphandlerrunner: ^1.1
Requires (Dev)
- gettext/gettext: ^4.6
- overtrue/phplint: ^1.1
- phpstan/phpstan-shim: ^0.11
- phpunit/phpunit: ^7.0
- squizlabs/php_codesniffer: ^3.4
This package is auto-updated.
Last update: 2020-03-11 16:39:06 UTC
README
A very basic PSR-7 / PSR-15 application for PHP.
Please have a look at my new skeleton project for Slim 4: odan/slim4-skeleton
Requirements
- PHP 7.2+
- Composer
- MySQL 5.7+
- Apache with mod_rewrite
- Apache Ant
Recommended
- NPM
Features
This project comes configured with:
- Modern coding style (PSR-1, PSR-2, PSR-12)
- PHPDoc Standard (PSR-5, PSR-19)
- Class Autoloader (PSR-4)
- HTTP request and response (PSR-7)
- HTTP Server Request Handlers, Middleware (PSR-15)
- HTTP Factories (PSR-17)
- Dependency injection container (PSR-11)
- Routing
- Single action controllers (ADR)
- Logging (PSR-3)
- Translations
- Sessions and Cookies
- Authentication and Authorization
- Database Query Builder
- Database Migrations (Phinx)
- Database Migrations Generator
- Date and time (Chronos)
- Console Commands (Symfony)
- Unit testing (PHPUnit)
Middleware:
- CSRF protection
- CORS
- Session
- Language
- Authentication
Rendering:
- Twig
- Assets (js, css) minification and caching
- Twig translations
Continuous integration:
- Tested on Travis CI and Scrutinizer CI
- Unit tests
- Integration tests (http and database)
- PHPStan (level=max)
- Code style checker and fixer (PSR-1, PSR-2, PSR-12)
- Ant scripts
- Deployment scripts
Installation
Manual
- Download ZIP
- Create a new database
- Run
composer update
- Run
php bin/cli.php install
- Open the application in your browser
Using Composer
Read more: Installing the application with Composer.
Documentation
The documentation of this demo application can be found here: Documentation
License
The BSD 2-Clause License. Please see License File for more information.