sebastian/phpcpd

Copy/Paste Detector (CPD) for PHP code.

3.0.1 2017-11-16 08:49 UTC

README

Latest Stable Version Minimum PHP Version Build Status

PHP Copy/Paste Detector (PHPCPD)

phpcpd is a Copy/Paste Detector (CPD) for PHP code.

Installation

PHP Archive (PHAR)

The easiest way to obtain PHPCPD is to download a PHP Archive (PHAR) that has all required dependencies of PHPCPD bundled in a single file:

$ wget https://phar.phpunit.de/phpcpd.phar
$ chmod +x phpcpd.phar
$ mv phpcpd.phar /usr/local/bin/phpcpd

You can also immediately use the PHAR after you have downloaded it, of course:

$ wget https://phar.phpunit.de/phpcpd.phar
$ php phpcpd.phar

Composer

You can add this tool as a local, per-project, development-time dependency to your project using Composer:

$ composer require --dev sebastian/phpcpd

You can then invoke it using the vendor/bin/phpcpd executable.

Usage Example

$ phpcpd wordpress-4.7.1
phpcpd 3.0.0 by Sebastian Bergmann.

Found 59 clones with 2548 duplicated lines in 39 files:

  - /home/sb/wordpress-4.7.1/wp-admin/includes/class-ftp-pure.php:99-114
    /home/sb/wordpress-4.7.1/wp-admin/includes/class-ftp-sockets.php:119-134
  .
  .
  .
  - /home/sb/wordpress-4.7.1/wp-includes/class-wp-customize-manager.php:277-329
    /home/sb/wordpress-4.7.1/wp-includes/class-wp-customize-control.php:652-704

0.77% duplicated lines out of 332387 total lines of code.

Time: 2.91 seconds, Memory: 232.00MB