# classes/phing/tasks/ext/phpcpd/PHPCPDTask.php

## \PHPCPDTask
jump to top

Runs PHP Copy & Paste Detector. Checking PHP files for duplicated code.

Refactored original PhpCpdTask provided by Timo Haberkern timo.haberkern@fantastic-bits.de

Extends from
  \Task
author
  Benjamin Schultz
copyright
  2001,2002 THYRELL. All rights reserved
package
  phing.tasks.ext.phpcpd
version
  $Id: PHPCPDTask.php 1281 2011-08-18 19:23:20Z mrook $

### Properties

`array $_allowedFileExtensions= 'array'`

List of valid file extensions for analyzed files.

Default value `array` Details

Type
  array

`\PhingFile $_file= 'null'`

A php source code filename or directory

Default value `null` Details

Type
  \PhingFile

`\array<FileSet> $_filesets= 'array'`

All fileset objects assigned to this task

Default value `array` Details

Type
  \array<FileSet>

`string $_format= 'default'`

The format for the report

Default value `default` Details

Type
  string

`\array<PHPCPDFormatterElement> $_formatters= 'array'`

Formatter elements.

Default value `array` Details

Type
  \array<PHPCPDFormatterElement>

`array $_ignorePatterns= 'array'`

List of exclude directory patterns.

Default value `array` Details

Type
  array

`integer $_minLines= '5'`

Minimum number of identical lines.

Default value `5` Details

Type
  integer

`integer $_minTokens= '70'`

Minimum number of identical tokens.

Default value `70` Details

Type
  integer

### Methods

`createFileSet( ) : \FileSet`
Nested creator, adds a set of files (nested fileset attribute).
Returns

Type | Description
--- | ---
\FileSet |

`createFormatter( ) : \PHPCPDFormatterElement`
Create object for nested formatter element.
Returns

Type | Description
--- | ---
\PHPCPDFormatterElement |

`init( ) :`
Load the necessary environment for running PHPCPD.
Details

throws
  - if the phpcpd classes can't be loaded.

`main( ) : void`
Executes PHPCPD against PhingFile or a FileSet
`setAllowedFileExtensions( string $fileExtensions ) : void`
Sets a list of filename extensions for valid php source code files.
Parameters

Name | Type | Description
--- | --- | ---
$fileExtensions | string | List of valid file extensions.

`setFile( \PhingFile $file ) : void`
Set the input source file or directory.
Parameters

Name | Type | Description
--- | --- | ---
$file | \PhingFile | The input source file or directory.

`setFormat( string $format ) :`
Sets the output format
Parameters

Name | Type | Description
--- | --- | ---
$format | string | Format of the report

`setIgnorePatterns( string $ignorePatterns ) : void`
Sets a list of ignore patterns that is used to exclude directories from the source analysis.
Parameters

Name | Type | Description
--- | --- | ---
$ignorePatterns | string | List of ignore patterns.

`setMinLines( integer $minLines ) : void`
Sets the minimum number of identical lines (default: 5).
Parameters

Name | Type | Description
--- | --- | ---
$minLines | integer | Minimum number of identical lines

`setMinTokens( integer $minTokens ) :`
Sets the minimum number of identical tokens (default: 70).
Parameters

Name | Type | Description
--- | --- | ---
$minTokens | integer | Minimum number of identical tokens

`setMinimumPriority( integer $minimumPriority ) : void`
Sets the minimum rule priority.
Parameters

Name | Type | Description
--- | --- | ---
$minimumPriority | integer | Minimum rule priority.

`validateFormatters( ) : void`
Validates the available formatters
Details

throws

Documentation was generated by DocBlox 0.13.1.