-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCONTRIBUTING
76 lines (47 loc) · 2.74 KB
/
CONTRIBUTING
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#### CI
Project uses free Github actions as build/CI.
CI steps [definitions](.github)
#### Development setup
- Install [PHP](https://www.php.net/) & [Composer](https://getcomposer.org/) & [Docker Compose](https://docs.docker.com/compose/install/)
- Install [PHPStorm IDE](https://www.jetbrains.com/phpstorm/) with [PHP Inspections](https://github.com/kalessil/phpinspectionsea) or [VSCode IDE](https://code.visualstudio.com/)
docker-compose up --force-recreate -d
docker-compose exec -T app.php81 composer install
Different PHP language runtime versions are available in named containers
- PHP7.4 - *app.php* (deprecated)
- PHP8.0 - *app.php80*
- PHP8.1 - *app.php81*
- PHP8.2 - *app.php81*
docker-compose exec %php-container% composer %composer-script%
#### How to check code quality before commit
git add -A
docker-compose exec app.php81 composer app-pre-commit
docker-compose exec app.php81 composer app-quality
git commit -m "new-feature-message"
docker-compose exec -it app.php80 bash
##### Run [PHPUnit](https://phpunit.de) test suite
docker-compose exec app.php81 composer app-phpunit
docker-compose exec app.php81 composer app-phpunit -- --filter SelectTest
docker-compose exec app.php81 composer app-phpunit-mysql57 -- --filter escape
docker-compose exec app.php81 composer app-phpunit-mysql80
docker-compose exec app.php82 composer app-phpunit-mysql80
docker-compose exec mysql mysql -uroot -proot mydb
docker-compose exec mysql80 mysql -uroot -proot mydb
##### Run PHP Code Beautifier & PHP [CodeSniffer](https://github.com/squizlabs/PHP_CodeSniffer) (all files)
docker-compose exec app.php81 composer app-phpcbf
docker-compose exec app.php81 composer app-phpcs
##### Run [Psalm](https://psalm.dev) - a static analysis tool for PHP (all files)
docker-compose exec app.php81 composer app-psalm
docker-compose exec app.php81 composer app-psalm-alter
docker-compose exec app.php81 composer app-psalm-taint
##### Run [PHPStan](https://phpstan.org) - PHP Static Analysis Tool (all files)
docker-compose exec app.php81 composer app-phpstan
##### Run [PHPMD](https://phpmd.org) - PHP Mess Detector
docker-compose exec app.php81 composer app-phpmd
##### Run [Phan](https://github.com/phan/phan) - PHP Phan static analyzer
docker-compose exec app.php81 composer app-phan
##### Run [phpDocumentor](https://www.phpdoc.org) - [phpDocumentor](https://docs.phpdoc.org/3.0/guide/references/phpdoc/tags/)
docker-compose exec app.php81 composer app-phpdoc
##### Run [PHPCPD](https://github.com/sebastianbergmann/phpcpd) - PHPCPD Copy/Paste Detector (CPD) for PHP code
docker-compose exec app.php81 composer app-phpcpd
##### Run [Pdepend](https://pdepend.org) - PHP quality of design - extensibility, reusability and maintainability
docker-compose exec app.php81 composer app-pdepend