GrumPHP
PHP Mess Detector
Our great sponsors
GrumPHP | PHP Mess Detector | |
---|---|---|
22 | 7 | |
3,895 | 2,148 | |
0.7% | 0.7% | |
7.2 | 8.1 | |
28 days ago | 12 days ago | |
PHP | PHP | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
GrumPHP
-
PHPUnit, do i need to learn it?
sounds like you heard of Grumphp
- Ideas for minimum PHP pipeline for a small team
-
A quality inspection hook installer
Are you aware of GrumPHP?
-
Is there a way to run commands before PHPStorm commits?
I use grumphp to run phplint, phpstan, Easy coding standard (includes php-cs fixer) and phpunit. All four will automatically run before every commit, stopping any 'below standard' code from being committed. Example config file
-
What are some helpful tools every Laravel CI pipeline should have?
like valplet said: https://github.com/phpro/grumphp But also: https://styleci.io/ integrates nicely with git For client side code formatting check: https://prettier.io/
-
Tools you’ve used to increase code quality and/or productivity?
GrumPHP with these tasks: https://github.com/phpro/grumphp/blob/master/doc/tasks/composer.md https://github.com/phpro/grumphp/blob/master/doc/tasks/composer_normalize.md https://github.com/phpro/grumphp/blob/master/doc/tasks/composer_require_checker.md https://github.com/phpro/grumphp/blob/master/doc/tasks/git_commit_message.md https://github.com/phpro/grumphp/blob/master/doc/tasks/phpcs.md https://github.com/phpro/grumphp/blob/master/doc/tasks/psalm.md
-
PHP libraries and tools
GrumPHP: A PHP code-quality tool.
-
Automating code quality check using GrumPHP in Magento 2
grumphp can be configured to listen to git commit commands and will not allow until all quality checks passed.
-
A minimal Drupal 9 local development environment
GrumPHP
-
How to get team members to write meaningful commits.
For those interested: https://github.com/phpro/grumphp/blob/master/doc/tasks/git_commit_message.md#git-commit-message
PHP Mess Detector
-
PHP in 2023 - stitcher.io
While you're at it, also include code-style checkers like phpcs, phpmd and/or php-cs-fixer
-
Underestimated PHP
Mess detector
-
Github Actions for Symfony 5 PHPUnit and more
name: Symfony 5 Tests on: push: branches: - main - dev pull_request: jobs: symfony: name: Symfony 5.0 (PHP ${{ matrix.php-versions }}) # https://hub.docker.com/_/ubuntu/ runs-on: ubuntu-latest strategy: fail-fast: true matrix: php-versions: ['7.4'] steps: # https://github.com/actions/checkout (official) - name: Checkout uses: actions/[email protected] # https://github.com/shivammathur/setup-php (community) - name: Setup PHP, extensions and composer with shivammathur/setup-php uses: shivammathur/[email protected] with: php-version: ${{ matrix.php-versions }} extensions: mbstring, xml, ctype, iconv, intl, pdo_sqlite, dom, filter, gd, iconv, json, mbstring, pdo # Composer - name: Get composer cache directory id: composer-cache run: echo "::set-output name=dir::$(composer config cache-files-dir)" # https://help.github.com/en/actions/configuring-and-managing-workflows/caching-dependencies-to-speed-up-workflows - name: Cache composer dependencies uses: actions/[email protected] with: path: ${{ steps.composer-cache.outputs.dir }} key: ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }} restore-keys: ${{ runner.os }}-composer- - name: Install Composer dependencies run: composer install --no-progress --no-suggest --prefer-dist --optimize-autoloader # https://github.com/sensiolabs/security-checker - name: Security check installed dependencies uses: symfonycorp/[email protected] # https://github.com/chekalsky/phpcs-action (community) - name: Check PSR12 code style (PHP_CodeSniffer) uses: chekalsky/[email protected] with: enable_warnings: true installed_paths: '${{ github.workspace }}/vendor/squizlabs/php_codesniffer' phpcs_bin_path: './vendor/bin/phpcs src --ignore="Migrations/"' # https://github.com/phpmd/phpmd # - name: Analyses PHP Code (PHP Mess Detector) # run: vendor/bin/phpmd src,tests text .phpmd-ruleset.xml # https://github.com/phpstan/phpstan - name: Analyse PHP Code (PHPStan) run: vendor/bin/phpstan analyse src - name: Cache node_modules uses: actions/[email protected] id: yarn-cache-node-modules with: path: node_modules key: ${{ runner.os }}-yarn-cache-node-modules-${{ hashFiles('**/yarn.lock') }} restore-keys: | ${{ runner.os }}-yarn-cache-node-modules- - name: Yarn install if: steps.yarn-cache-node-modules.outputs.cache-hit != 'true' run: yarn install - name: Yarn build run: yarn run encore production - name: Archive production artifacts uses: actions/[email protected] with: name: build path: public/build # Symfony - name: Check the Symfony console run: | php bin/console -V php bin/console about # Tests - name: Run unit and functional tests run: | php bin/phpunit --stop-on-failure # - name: Run Behat/Mink tests # run: | # php vendor/bin/behat
- Twelve-factor app módszer a gyakorlatban / 1. rész
-
PHP Static Analysis Tools Review
PHP Mess Detector is a multi-faceted static analysis PHP Tool based on PHP Depend. The kind of problems detected by PHPMD are divided into 5 main categories:
- Automating code quality check using GrumPHP in Magento 2
-
A minimal Drupal 9 local development environment
PHPMD
What are some alternatives?
PHPStan - PHP Static Analysis Tool - discover bugs in your code without running it!
PHP Code Sniffer - PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards.
PHP CS Fixer - A tool to automatically fix PHP Coding Standards issues
drupal-project - :rocket: Composer template for Drupal projects. Quick installation via "composer create-project drupal-composer/drupal-project"
phan - Phan is a static analyzer for PHP. Phan prefers to avoid false-positives and attempts to prove incorrectness rather than correctness.
PHPCPD - Copy/Paste Detector (CPD) for PHP code.
laravel-code-style - Automatic code formatting for Laravel projects
Rector - Instant Upgrades and Automated Refactoring of any PHP 5.3+ code
captainhook - Very flexible git hook manager for php developers