rocknroot / stray-fw
A PHP web framework for rock 'n' rollers.
0.4.6
2019-12-02 22:25 UTC
Requires
- php: >=7.2
- psr/log: ~1.0
- symfony/yaml: ^4.3
- wp-cli/php-cli-tools: ^0.11.2
Requires (Dev)
- filp/whoops: ^2.1
- phpstan/phpstan: ^0.11.8
- phpunit/phpunit: ^8.4
- twig/twig: ^2.11
Suggests
- twig/twig: For the Twig renderer
README
strayFw is a PHP framework trying to be modern without following fashion, between full-featured frameworks and micro ones.
Code is free, new-BSD license. So... fork us!
Why? / Why not?
- It's beta software.
- Configuration over convention.
- Use of reflection at runtime as limited as possible.
- Making use of type hinting anywhere possible.
- strayFw follows a small selection of PSR (see below: Development > Technical considerations).
- Contain neither dependency injection nor annotations.
- Data models are defined by a schema in YAML. Migrations are, for the most part, generated by a automated diff between schemas.
- Data models are generated by the CLI ahead of web-server-time/run-time.
- Composer dependencies are minimal.
- DBMS wise, only PostgreSQL is supported.
Requirements
- PHP >= 8.0
- mbstring extension
- For the Locale namespace, intl extension >= 1.0.0
- For the Twig renderer, twig/twig >= 3.0
Get started
Documentation website is underway.
Need help?
You can add an issue on Github ;)
Development
Technical considerations
The framework follows these standards:
- PSR-1: Basic Coding Standard
- PSR-2: Coding Style Guide
- PSR-3: Logger Interface
- PSR-4: Autoloader
- Incomplete PSR-12: Extended Coding Style Guide
Quality
Static analysis :
$ php vendor/bin/phpstan analyse src --level=max
Coding standards :
$ curl -L https://cs.symfony.com/download/php-cs-fixer-v3.phar -o php-cs-fixer.phar
$ php php-cs-fixer.phar fix
External Contributors
- moafred: PR review, AJAX, Twig, and other frontend related things.
- SignpostMarv: phpstan compliance.
Thank you!