Download the PHP package ixa-devstuff/php-deprecation-detector without Composer
On this page you can find all versions of the php package ixa-devstuff/php-deprecation-detector. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ixa-devstuff/php-deprecation-detector
More information about ixa-devstuff/php-deprecation-detector
Files in ixa-devstuff/php-deprecation-detector
Package php-deprecation-detector
Short Description Analyzer of PHP code to search issues with deprecated functionality in newer interpreter versions.
License BSD-3-Clause
Informations about the package php-deprecation-detector
PhpDeprecationDetector
PhpDeprecationDetector - analyzer of PHP code to search usages of deprecated functionality in newer interpreter versions - deprecations detector.
PhpDeprecationDetector detects:
- Usage of deprecated functions, variables, constants and ini-directives.
- Usage of deprecated functions functionality.
- Usage of forbidden names or tricks (e.g. reserved identifiers in newer versions).
It literally helps you find code that can fail after migration to newer PHP version.
- Installation
- Usage
- Console scanner
- Json report format
Installation
Composer
-
Install composer:
-
Install phpdd in global composer dir:
- Run from any folder:
Usage
Console scanner
To scan your files or folder launch phpdd
and pass file or directory names.
- By providing additional option
--target
you can specify version of PHP to perform less checks. Available target versions: 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0. A larger version includes rules for checking from all previous. - By providing
--exclude
option you can exclude specific folders or files from analyze. For example,--exclude vendor
will prevent checking third-party libraries. - By providing
--skip-checks
option you can exclude specific checks from analyze. - If your files has unusual extension, you can specify all exts by
--file-extensions
option. By default, it usesphp
,phtml
andphp5
. - If you need to generate machine-readable analyze result, use
--output-json
option to specify path to store json or--output-json=-
to print json to stdout.
Example of usage
Json report format
Also, you can store analyze result in json format for automatic check. Pass --output-json=FILENAME
to write result to FILENAME file or --output-json=-
to output to stdout.
Format of json - dictionary with items:
- InfoMessage[] info_messages - list of information messages about analyzing process.
- Issue[] problems - list of issues found in your code.
- ReplaceSuggestion[] replace_suggestions - list of replacement suggestions based on your code.
- Note[] notes - list of notes about new functions behaviour.
Items description:
- InfoMessage structure:
- string type - message type - any of (info | warning)
- string message - message text
- Issue structure:
- string version - interpreter version which has current issue (like 7.2)
- string file - relative path to file in which issue found (like src/ProblemClass.php)
- string path - absolute path to file in which issue found (like /var/www/html/project/src/ProblemClass.php)
- int line - line in file in which issue found
- string category - issue category - any of (changed | removed | violation)
- string type - concrete issue type (like "constant" or "identifier")
- string checker - concrete issue object which may cause problem (like
magic_quotes_runtime
orpreg_replace() (@preg_replace_e_modifier)
)
- ReplaceSuggestion structure:
- string type - replacement object type (like variable or ini)
- string problem - replacement object (like mcrypt_generic_end() or each())
- string replacement - suggestion to replace with (like mcrypt_generic_deinit() or foreach())
- Note structure:
- string type - type of note (like function_usage or deprecated_feature)
- string problem - note object (like
preg_replace() (@preg_replace_e_modifier)
orparse_str() (@parse_str_without_argument)
) - string note - note text (like
Usage of "e" modifier in preg_replace is deprecated: "asdasdsd~ie"
orCall to parse_str() without second argument is deprecated
)
All versions of php-deprecation-detector with dependencies
ext-tokenizer Version *
ext-json Version *
symfony/console Version ^3.4|^4.0|^5.0