Download the PHP package pixeloven/framework without Composer
On this page you can find all versions of the php package pixeloven/framework. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package framework
pixeloven/framework
A simple framework to extend Laravel/Lumen
Setup
The quickest way to get setup is to fist ensure you have docker installed. Then proceed with running the following:
This will create a php-7.4 docker image and container with everything we need to run and verify our code. Once complete we can run the composer through our newly minted container.
Code Quality Testing
There are two simple steps for verifying your changes.
Testing
We utilizes PHPUnit for all testing.
Linting
We utilizes PHPCodesniffer for all liniting needs.
Static Analysis
We utilizes PHPStan for all static analysis needs.
Currently our configuration is set to level 5 with one ignored error in our baseline. Our goal will be to maintain a strict baseline with as few ignored errors as possible. As our source catches up with PHP 7.4+ features we will tighted our level to address our increasing complexity.
Formatting
We utilizes PHPFixer for all formatting needs. This cmd will write changes to disk.
If you simply want to check for issues without writing to disk run the following cmd.
All cmd alias can be found in the composer.json file under scripts. Most of what you see above is run within our build pipeline to ensure quality.
Usage
The Http model is meant to help abstract the request into an input model. The example below shows how it might be used in production.
First we have our Address model which defines how our API accepts address.
Then building off of this we define our User model which has a relationship with Address.
As we can see from the above User now is related to address where address is a nested property. There is nothing stoping us from also extending a model if we wish for a flatter structure.
Lastly we can use these models to replace the raw Request object.
In this particular example we are also leveraging:
This package allows us to use swagger annotations along side our request model.