Download the PHP package ingenioz-it/php-skeleton without Composer
On this page you can find all versions of the php package ingenioz-it/php-skeleton. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package php-skeleton
PHP skeleton
Bored of manually setting up your PHP projects ?
This is the solution !
Table of contents
- Description
- Installation
- Requirements
- Getting started
- Scripts
- Customize your app
Description
This is a skeleton for PHP projects that focus on code quality.
It contains pretty much everything you need to start a new project :
- Code quality
- A working unit test (using PHPUnit) to bootstrap your coding experience
- A mutation testing framework (Infection) to enforce the quality of your tests
- A linter (phpcs) to make sure your code respects the PSR standards
- Static analysis (phpstan) to check for errors
- Code smell check (phpmd) to check if your code needs improvement
- An automated refactoring tool (Rector) to help you keep your code up to date
- Composer scripts to easily use all the above
- Infrastructure
- Docker support
- A Makefile to manage docker commands with ease
- GitHub Actions to automatically run the tests and quality tools on every push and pull request
- It also uploads a code coverage report to CodeCov
Installation
To create a new project based on this skeleton, run the following command:
Requirements
PHP 8.5+ or Docker.
Getting started
1. Install the dependencies
If you are using docker:
If you are using your local environment:
2. Run the tests
If you are using docker:
If you are using your local environment:
3. Time to code
The previous steps went well ?
You are now ready to start coding !
Scripts
The project comes with a few useful scripts to help you manage docker and run the various quality tools.
You can list them by running
Important scripts
For a complete list of the available commands:
The main scripts are:
composer testdox: run the testscomposer fulltest: run all the quality toolscomposer doc: generate the documentation from the tests (including mutation testing and code coverage), and puts it inside thedocfolder
And if you are using docker:
make start/stop/restart: start/stop/restart the Docker containermake bash: open a terminal inside the Docker container (runexitto close it)make exec -- {command}: execute a command inside the Docker container
Environments
This project supports multiple environments.
Two environments are available from the start:
cli-dev: a cli projectweb-dev: a web project
You can switch between environments by changing the ENVIRONMENT variable inside the infra/.env file.
You can create new environments by creating a new folder inside the infra/ folder, with a docker-compose.yml file inside it.
Customize your app
Make the project truly yours by doing the following:
- [ ] Update the
composer.jsonwith your project's information - [ ] Update the
README.mdfile to describe your project - [ ] Update the
LICENSEfile with your favorite license