Rector
setup-php
Our great sponsors
Rector | setup-php | |
---|---|---|
112 | 31 | |
8,138 | 2,772 | |
3.4% | - | |
9.9 | 8.8 | |
7 days ago | 3 days ago | |
PHP | TypeScript | |
MIT License | MIT 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.
Rector
-
Rector keeps your PHP code base fresh and perfect
As part of the journey to PHP perfection, you should embrace Rector. It's a amazing, free, and open-source tool for migrations, code quality, type coverage, pushing PHPStan to the highest levels, and yes, it can even auto-fix your existing code! It seamlessly integrates into the CI process, making your development workflow smoother than ever.
-
Starting with Rector PHP: Improving Your PHP Code with Automation
If you want to explore more the rules, you can take a look at this page: https://github.com/rectorphp/rector/blob/main/docs/rector_rules_overview.md
Website: https://getrector.com/
-
Materials/Topics for Senior dev new to PHP
Yep... Rector
-
Avoiding empty() in PHP
rector/rector
-
7.4 to 8.x upgrade help
https://github.com/rectorphp/rector might be useful.
-
Is it too painful to go from 5.2 to 8.2?
You could give rector a try
- Where to start on upgrading a legacy PHP 5.6 “Laravel” project?
-
Upgrade your project to PHP 8.2 with Rector
Rector is a free and open-source tool written in PHP allowing you to automate various refactoring tasks. It analyses your code and applies whatever rules you've specified in its configuration. It is also possible to create your own rules.
-
What automated tools are there for upgrading old PHP code to the latest PHP versions?
Rector is pretty much the only tool I use anymore.
setup-php
-
Write a PHP library supports PHP 5.6 to 8.1
I found shivammathur/setup-php did a better job on supporting old PHP versions, and you don't have to worry about the composer & extension compatibility, it handles those for you.
-
Deployer v7 release
this is a good base https://github.com/shivammathur/setup-php
-
A GitHub Workflow to Check the Compatibility of Your PHP Package with a Range of Dependency Versions
Setup PHP (GitHub Action)
-
GitHub Action for PHP (shivammathur/setup-php) v2.19.0 released
There is also an RSS feed you can subscribe for setup-php releases https://github.com/shivammathur/setup-php/releases.atom
-
How to Build a Dynamic GitHub Profile with GitHub Actions and PHP
GitHub Action: Setup PHP
-
PHP Extension written with C++. Build and check with GitHub Actions.
And in steps right after repo checkout need to add PHP headers and capability for running PHP code. Thanks to shivammathur/setup-php@v2 it's pretty easy to achieve:
-
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/checkout@v2 # https://github.com/shivammathur/setup-php (community) - name: Setup PHP, extensions and composer with shivammathur/setup-php uses: shivammathur/setup-php@verbose 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/cache@v1 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/security-checker-action@v2 # 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/cache@v1 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/upload-artifact@v1 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
-
GitHub Action for PHP (shivammathur/setup-php) v2.14.0 released
Release Notes: https://github.com/shivammathur/setup-php/releases/tag/2.14.0 In summary, this release adds:
What are some alternatives?
PHP CS Fixer - A tool to automatically fix PHP Coding Standards issues
PHPStan - PHP Static Analysis Tool - discover bugs in your code without running it!
Phpactor - Mainly a PHP Language Server with more features than you can shake a stick at
PHP Code Sniffer - PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards.
Psalm - A static analysis tool for finding errors in PHP applications
PHPCompatibility - PHP Compatibility check for PHP_CodeSniffer
rector-laravel - Rector upgrades rules for Laravel
GrumPHP - A PHP code-quality tool
Phing - PHing Is Not GNU make; it's a PHP project build system or build tool based on Apache Ant.
phan - Phan is a static analyzer for PHP. Phan prefers to avoid false-positives and attempts to prove incorrectness rather than correctness.
phpqa - Docker image that provides static analysis tools for PHP
Saleor - Saleor Core: the high performance, composable, headless commerce API.