sebastian / phpcpd
Copy/Paste Detector (CPD) for PHP code.
Fund package maintenance!
sebastianbergmann
Installs: 40 773 915
Dependents: 2 225
Suggesters: 21
Security: 0
Stars: 2 221
Watchers: 65
Forks: 179
Open Issues: 0
Requires
- php: >=7.3
- ext-dom: *
- phpunit/php-file-iterator: ^3.0
- phpunit/php-timer: ^5.0
- sebastian/cli-parser: ^1.0
- sebastian/version: ^3.0
README
This project is no longer maintained and its repository is only kept for archival purposes.
PHP Copy/Paste Detector (PHPCPD)
phpcpd
is a Copy/Paste Detector (CPD) for PHP code.
Installation
This tool is distributed as a PHP Archive (PHAR):
$ wget https://phar.phpunit.de/phpcpd.phar $ php phpcpd.phar --version
Using Phive is the recommended way for managing the tool dependencies of your project:
$ phive install phpcpd $ ./tools/phpcpd --version
It is not recommended to use Composer to download and install this tool.
Usage Example
$ php phpcpd.phar --fuzzy wordpress-5.5
phpcpd 6.0.0 by Sebastian Bergmann.
Found 121 clones with 8137 duplicated lines in 69 files:
- /home/sb/wordpress-5.5/wp-includes/sodium_compat/src/Core/Curve25519/H.php:19-1466 (1447 lines)
/home/sb/wordpress-5.5/wp-includes/sodium_compat/src/Core32/Curve25519/H.php:19-1466
.
.
.
- /home/sb/wordpress-5.5/wp-includes/sodium_compat/src/Core32/Curve25519.php:879-889 (10 lines)
/home/sb/wordpress-5.5/wp-includes/sodium_compat/src/Core32/Curve25519.php:1072-1082
1.82% duplicated lines out of 446676 total lines of code.
Average size of duplication is 67 lines, largest clone has 1447 of lines
Time: 00:02.980, Memory: 318.00 MB