This repository contains functions to run PHP quality assurance tools on Castor projects.
It does not add command to your castor project, but rather provide a set of functions that should work in any environment without having PHP installed only castor is required.
To install the package, you can use the following command:
castor composer require castor-php/php-qa
Each tool is provided as a function that you can call in your castor project.
<?php
use Castor\Attribute\AsTask;
use function Castor\PHPQa\phpstan;
#[AsTask('phpstan', namespace: 'qa')]
function qa_phpstan()
{
phpstan();
}
By default the latest version of the tool is used. However it is recommended to use a specific version so you don't have different version depending the environment.
You can pass the version as an argument of the function.
<?php
use Castor\Attribute\AsTask;
use function Castor\PHPQa\phpstan;
#[AsTask('phpstan', namespace: 'qa')]
function qa_phpstan()
{
phpstan(version: '1.11.0');
}
Some tools may require extra dependencies to be installed. You can pass them as an argument of the function.
<?php
use Castor\Attribute\AsTask;
use function Castor\PHPQa\php_cs_fixer;
#[AsTask('php_cs_fixer', namespace: 'qa')]
function qa_pphp_cs_fixer()
{
php_cs_fixer(extraDependencies: [
'kubawerlos/php-cs-fixer-custom-fixers' => '^3.21',
]);
}
- PHPStan:
Castor\PHPQa\phpstan()
function - PHP CS Fixer:
Castor\PHPQa\php_cs_fixer()
function