Skip to content

Copy/Paste Detector (CPD) for PHP code.

License

Notifications You must be signed in to change notification settings

omares/phpcpd

 
 

Repository files navigation

PHP Copy/Paste Detector (PHPCPD)

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

Installation

There are three supported ways of installing PHPCPD.

You can use the PEAR Installer or Composer to download and install PHPCPD as well as its dependencies. You can also download a PHP Archive (PHAR) of PHPUnit that has all required (as well as some optional) dependencies of PHPCPD bundled in a single file.

PEAR Installer

The following two commands (which you may have to run as root) are all that is required to install PHPCPD using the PEAR Installer:

pear config-set auto_discover 1
pear install pear.phpunit.de/phpcpd

Composer

To add PHPCPD as a local, per-project dependency to your project, simply add a dependency on sebastian/phpcpd to your project's composer.json file. Here is a minimal example of a composer.json file that just defines a development-time dependency on PHPCPD 1.4:

{
    "require-dev": {
        "sebastian/phpcpd": "1.4.*"
    }
}

PHP Archive (PHAR)

wget http://pear.phpunit.de/get/phpcpd.phar
chmod +x phpcpd.phar

Usage Example

➜ ~ phpcpd /usr/local/src/phpunit/PHPUnit
phpcpd 1.4.1 by Sebastian Bergmann.

Found 3 exact clones with 53 duplicated lines in 5 files:

  - /usr/local/src/phpunit/PHPUnit/Framework/Constraint/Or.php:136-157
    /usr/local/src/phpunit/PHPUnit/Framework/Constraint/And.php:143-164

  - /usr/local/src/phpunit/PHPUnit/Framework/Constraint/Or.php:136-157
    /usr/local/src/phpunit/PHPUnit/Framework/Constraint/Xor.php:141-162

  - /usr/local/src/phpunit/PHPUnit/Framework/Comparator/Scalar.php:121-132
    /usr/local/src/phpunit/PHPUnit/Framework/Comparator/Numeric.php:102-113

0.19% duplicated lines out of 27640 total lines of code.

Time: 0 seconds, Memory: 18.25Mb

About

Copy/Paste Detector (CPD) for PHP code.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 97.5%
  • Shell 2.5%