PhpDeprecationDetector
2.0.33: 8.2 fix and 8.0 rules change
PHPDEPRECATIONDETECTOR-新しいインタープリターバージョンで非推奨機能の使用を検索するPHPコードの分析器 - 非推奨検出器。
PHPDEPRECATIONDETECTORの検出:
文字通り、新しいPHPバージョンに移行した後に失敗する可能性のあるコードを見つけるのに役立ちます。
chmod +x phpdd-x.x.x.phara。ローカルインストール:現在のフォルダーから使用します:
. /phpdd-x.x.x.phar -h b。グローバルインストール: $PATHにリストされているフォルダーの1つに移動し、任意のフォルダーから実行します。
sudo mv phpdd-x.x.x.phar /usr/local/bin/phpdd
phpdd -hPHPDDをインストールする別の方法は、Composerを介してです。
curl -sS https://getcomposer.org/installer | php./composer.phar global require wapmorgan/php-deprecation-detector dev-masterphpdd -hファイルまたはフォルダーをスキャンするには、 phpddを起動し、ファイルまたはディレクトリ名を渡します。
Description:
Analyzes PHP code and searches issues with deprecated functionality in newer interpreter versions.
Usage:
scan [options] [--] <files>...
Arguments:
files Which files you want to analyze (separate multiple names with a space)?
Options:
-t, --target[=TARGET] Sets target PHP interpreter version. [default: "8.0"]
-a, --after[=AFTER] Sets initial PHP interpreter version for checks. [default: "5.3"]
-e, --exclude[=EXCLUDE] Sets excluded file or directory names for scanning. If need to pass few names, join it with comma.
-s, --max-size[=MAX-SIZE] Sets max size of php file. If file is larger, it will be skipped. [default: "1mb"]
--file-extensions[=FILE-EXTENSIONS] Sets file extensions to be parsed. [default: "php, php5, phtml"]
--skip-checks[=SKIP-CHECKS] Skip all checks containing any of the given values. Pass a comma-separated list for multiple values.
--output[=OUTPUT] The output type required. Options: stdout, json, junit. Defaults to stdout.
--output-file[=OUTPUT-FILE] File path to store results where output is not stdout.
-h, --help Display help for the given command. When no command is given display help for the scan command
-q, --quiet Do not output any message
-V, --version Display this application version
--ansi Force ANSI output
--no-ansi Disable ANSI output
-n, --no-interaction Do not ask any interactive question
-v|vv|vvv, --verbose Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug
--target提供することで、PHPのバージョンを指定して、小切手を少なくすることができます。利用可能なターゲットバージョン:5.3、5.4、5.5、5.6、7.0、7.1、7.2、7.3、7.4、8.0。大規模なバージョンには、以前のすべてからチェックするためのルールが含まれています。--excludeオプションを提供することにより、特定のフォルダーまたはファイルを分析から除外できます。たとえば、 --exclude vendor 、サードパーティライブラリのチェックを防ぎます。--skip-checksオプションを提供することにより、分析から特定のチェックを除外できます。--file-extensionsオプションを指定できます。デフォルトでは、 php 、 phtml 、 php5を使用します。--output-file指定するパスを指定する-Outputファイルを指定するパスを指定する必要がある場合は、 --output (JSONまたはJUNIT)に指定されています。 > ./bin/phpdd tests/
Max file size set to: 1.000 MiB
Folder /media/wapmorgan/Локальный диск/Документы/PhpDeprecationDetector/tests
- PHP 5.3 (3) - your version is greater or equal
+------------+---------+---------------------------------------------------------------------+
| File:Line | Type | Issue |
+------------+---------+---------------------------------------------------------------------+
| /5.3.php:2 | removed | Function dl() is removed. |
| /5.3.php:3 | removed | Ini define_syslog_variables is removed. |
| /5.3.php:5 | changed | Function usage piet() (@call_with_passing_by_reference) is changed. |
| | | Call with passing by reference is deprecated. Problem is "&$hoho" |
+------------+---------+---------------------------------------------------------------------+
- PHP 5.4 (2) - your version is greater or equal
+------------+---------+-----------------------------------------------+
| File:Line | Type | Issue |
+------------+---------+-----------------------------------------------+
| /5.4.php:2 | removed | Function mcrypt_generic_end() is removed. |
| | | Consider replace with mcrypt_generic_deinit() |
| /5.4.php:3 | removed | Function magic_quotes_runtime() is removed. |
+------------+---------+-----------------------------------------------+
...
...
...
また、自動チェック用のJSON形式の結果を分析することもできます。 pass --output-file=FILENAME filenameファイルに結果を書き込むか、 stdoutに出力するように設定されていません。
また、自動チェック用のJunit形式でAnalyseを保存できます。 pass --output-file=FILENAME filenameファイルに結果を書き込むか、 stdoutに出力するように設定されていません。
JSONの形式- アイテム付きの辞書:
アイテムの説明:
magic_quotes_runtimeやpreg_replace() (@preg_replace_e_modifier) ))preg_replace() (@preg_replace_e_modifier)またはparse_str() (@parse_str_without_argument) )Usage of "e" modifier in preg_replace is deprecated: "asdasdsd~ie"またはCall to parse_str() without second argument is deprecated )docker run --rm --interactive --tty --volume $PWD :/app composer:2.2.4 sh
# and inside a container:
docker-php-ext-install bcmath
composer require macfja/phar-builder
echo phar.readonly=0 >> /usr/local/etc/php/php-cli.ini
composer run-script build