Languages
PHP
This section covers configuration specific to the php
analyzer.
Code Analysis
.deepsource.toml
Please make sure you read the general configuration guide first.
name
- Type: String
- Presence: mandatory
- Description: Shortcode of the analyzer.
- Example:
enabled
- Type: Boolean
- Presence: optional
- Description: Toggle whether this analyzer should be run.
- Example:
meta
- Type: Table
- Presence: optional
- Description: Any supported metadata to pass to the analyzer.
- Example:
bootstrap_files
- Type: Array
- Presence: optional
- Description: List of files that your project is using to define global constants, custom autoloader, class aliases, etc. This will help reduce the false positives.
- Example:
skip_doc_coverage
- Type: Array
- Presence: optional
- Description: Specify which artifacts to skip when calculating documentation coverage.
- Available Values:
class
,magic
andnonpublic
class
- Ignore docstrings of class definitionsmagic
- Ignore docstrings of magic methodsnonpublic
- Ignore docstrings for non-public(protected
andprivate
) methods
- Default Value: [“magic”]
- Example:
cyclomatic_complexity_threshold
- Type: String
- Presence: optional
- Description: Specify the acceptable risk category for your project as the threshold. All functions with complexity beyond this threshold will raise an issue. For example, setting the threshold to
low
will flag all functions that have a cyclomatic complexity of more than5
, while setting the threshold tocritical
will not flag any function. - Available Values:
low
,medium
,high
,very-high
andcritical
Risk category | Cyclomatic complexity range | Recommended action |
---|---|---|
low | 1-5 | No action is needed. |
medium | 6-15 | Review and monitor. |
high | 16-25 | Review and refactor. Recommended to add detailed comments if the function absolutely needs to be kept as it is. |
very-high | 26-50 | Refactor to reduce the complexity. |
critical | >50 | Must refactor this. This can make the code untestable and very difficult to understand. |
- Default Value:
medium
- Example:
Sample config
We currently support PHP 7 and 8.
Code Coverage
PHPUnit
Currently, only the Cobertura XML format is supported by DeepSource.
Here are the steps to report PHP coverage data:
Code Formatter (Transformer)
php-cs-fixer
Transform all incoming PHP code with PHP CS Fixer. PHP CS Fixer transforms PHP code to conform to the PSRs.
This section covers .deepsource.toml
configuration specific to the php-cs-fixer
transformer. Please make sure to read the general configuration guide first.
name
- Type: String
- Presence: mandatory
- Description: Shortcode of this transformer.
- Example:
enabled
- Type: Boolean
- Presence: optional
- Description: Toggle whether this transformer should be run.
- Example:
Vulnerability Scanning
Supported target files:
composer.json
composer.lock