PHP_CodeSniffer
[ class tree: PHP_CodeSniffer ] [ index: PHP_CodeSniffer ] [ all elements ]

Class: PHP_CodeSniffer

Source Location: /PHP_CodeSniffer-1.3.4/CodeSniffer.php

Class Overview


PHP_CodeSniffer tokenises PHP code and detects violations of a defined set of coding standards.


Author(s):

Version:

  • Release: @package_version@

Copyright:

  • 2006-2011 Squiz Pty Ltd (ABN 77 084 670 600)

Variables

Methods


Inherited Variables

Inherited Methods


Class Details

[line 68]
PHP_CodeSniffer tokenises PHP code and detects violations of a defined set of coding standards.

Standards are specified by classes that implement the PHP_CodeSniffer_Sniff interface. A sniff registers what token types it wishes to listen for, then PHP_CodeSniffer encounters that token, the sniff is invoked and passed information about where the token was found in the stack, and the token stack itself.

Sniff files and their containing class must be prefixed with Sniff, and have an extension of .php.

Multiple PHP_CodeSniffer operations can be performed by re-calling the process function with different parameters.



[ Top ]


Class Variables

$allowedFileExtensions = array(
                                     'php' => 'PHP',
                                     'inc' => 'PHP',
                                     'js'  => 'JS',
                                     'css' => 'CSS',
                                    )

[line 143]

An array of extensions for files we will check.
  • Access: public

Type:   array


[ Top ]

$allowedTypes = array(
                                   'array',
                                   'boolean',
                                   'float',
                                   'integer',
                                   'mixed',
                                   'object',
                                   'string',
                                  )

[line 155]

An array of variable types for param/var we will check.
  • Access: public

Type:   array(string)


[ Top ]

$cli =  null

[line 102]

The CLI object controlling the run.
  • Access: public

Type:   string


[ Top ]

$file =  ''

[line 76]

The file or directory that is currently being processed.
  • Access: protected

Type:   string


[ Top ]

$files = array()

[line 83]

The files that have been processed.
  • Access: protected

Type:   array(PHP_CodeSniffer_File)


[ Top ]

$ignorePatterns = array()

[line 136]

An array of patterns to use for skipping files.
  • Access: protected

Type:   array


[ Top ]

$listeners = array()

[line 109]

An array of sniffs that are being used to check files.
  • Access: protected

Type:   array(PHP_CodeSniffer_Sniff)


[ Top ]

$ruleset = array()

[line 119]

An array of rules from the ruleset.xml file.

It may be empty, indicating that the ruleset does not override any of the default sniff settings.

  • Access: protected

Type:   array


[ Top ]

$standardDir =  ''

[line 95]

The directory to search for sniffs in.

This is declared static because it is also used in the autoloader to look for sniffs outside the PHPCS install. This way, standards designed to be installed inside PHPCS can also be used from outside the PHPCS Standards directory.

  • Access: protected

Type:   string


[ Top ]



Method Detail

__construct (Constructor)   [line 185]

PHP_CodeSniffer __construct( [int $verbosity = 0], [int $tabWidth = 0], [string $encoding = 'iso-8859-1'], [bool $interactive = false])

Constructs a PHP_CodeSniffer object.

Parameters:

int   $verbosity     The verbosity level. 1: Print progress information. 2: Print tokenizer debug information. 3: Print sniff debug information.
int   $tabWidth     The number of spaces each tab represents. If greater than zero, tabs will be replaced by spaces before testing each file.
string   $encoding     The charset of the sniffed files. This is important for some reports that output with utf-8 encoding as you don't want it double encoding messages.
bool   $interactive     If TRUE, will stop after each file with errors and wait for user input.

[ Top ]

__destruct (Destructor)   [line 240]

void __destruct( )

Destructs a PHP_CodeSniffer object.

Restores the current working directory to what it was before we started our run.

  • Access: public

[ Top ]

addFile   [line 375]

void addFile( PHP_CodeSniffer_File $phpcsFile)

Adds a file to the list of checked files.

Checked files are used to generate error reports after the run.

  • Access: public

Parameters:

PHP_CodeSniffer_File   $phpcsFile     The file to add.

[ Top ]

autoload   [line 254]

void autoload( string $className)

Autoload static method for loading classes and interfaces.
  • Access: public

Parameters:

string   $className     The name of the class or interface.

[ Top ]

generateDocs   [line 1384]

void generateDocs( string $standard, [ $sniffs = array()], [string $generator = 'Text'])

Generates documentation for a coding standard.
  • Access: public

Parameters:

string   $standard     The standard to generate docs for
array   $sniffs     A list of sniffs to limit the docs to.
string   $generator     The name of the generator class to use.

[ Top ]

getAllConfigData   [line 2000]

string getAllConfigData( )

Get all config data in an array.

[ Top ]

getConfigData   [line 1916]

string getConfigData( string $key)

Get a single config value.

Config data is stored in the data dir, in a file called CodeSniffer.conf. It is a simple PHP array.


Parameters:

string   $key     The name of the config value.

[ Top ]

getFiles   [line 1403]

array(PHP_CodeSniffer_File) getFiles( )

Returns the PHP_CodeSniffer file objects.
  • Access: public

[ Top ]

getFilesErrors   [line 1357]

array getFilesErrors( )

Gives collected violations for reports.
  • Access: public

[ Top ]

getFilesToProcess   [line 1035]

array getFilesToProcess( string $paths, [boolean $local = false])

Get a list of files that will be processed.

If passed directories, this method will find all files within them. The method will also perform file extension and ignore pattern filtering.


Parameters:

string   $paths     A list of file or directory paths to process.
boolean   $local     If true, only process 1 level of files in directories

[ Top ]

getIgnorePatterns   [line 337]

array getIgnorePatterns( [string $listener = null])

Gets the array of ignore patterns.

Optionally takes a listener to get ignore patterns specified for that sniff only.

  • Access: public

Parameters:

string   $listener     The listener to get patterns for. If NULL, all patterns are returned.

[ Top ]

getInstalledStandards   [line 1830]

array getInstalledStandards( [boolean $includeGeneric = false], [string $standardsDir = ''])

Get a list of all coding standards installed.

Coding standards are directories located in the CodeSniffer/Standards directory. Valid coding standards include a Sniffs subdirectory.


Parameters:

boolean   $includeGeneric     If true, the special "Generic" coding standard will be included if installed.
string   $standardsDir     A specific directory to look for standards in. If not specified, PHP_CodeSniffer will look in its default location.

[ Top ]

getSniffFiles   [line 707]

array getSniffFiles( string $dir, [string $standard = null])

Return a list of sniffs that a coding standard has defined.

Sniffs are found by recursing the standard directory and also by asking the standard for included sniffs.

  • Throws: PHP_CodeSniffer_Exception If an included or excluded sniff does not exist.
  • Access: public

Parameters:

string   $dir     The directory where to look for the files.
string   $standard     The name of the coding standard. If NULL, no included sniffs will be checked for.

[ Top ]

getSniffs   [line 1415]

array(PHP_CodeSniffer_Sniff) getSniffs( )

Gets the array of PHP_CodeSniffer_Sniff's.
  • Access: public

[ Top ]

getTokenSniffs   [line 1427]

array() getTokenSniffs( )

Gets the array of PHP_CodeSniffer_Sniff's indexed by token type.
  • Access: public

[ Top ]

isCamelCaps   [line 1647]

boolean isCamelCaps( string $string, [boolean $classFormat = false], [boolean $public = true], [boolean $strict = true])

Returns true if the specified string is in the camel caps format.
  • Access: public

Parameters:

string   $string     The string the verify.
boolean   $classFormat     If true, check to see if the string is in the class format. Class format strings must start with a capital letter and contain no underscores.
boolean   $public     If true, the first character in the string must be an a-z character. If false, the character must be an underscore. This argument is only applicable if $classFormat is false.
boolean   $strict     If true, the string must not have two captial letters next to each other. If false, a relaxed camel caps policy is used to allow for acronyms.

[ Top ]

isInstalledStandard   [line 1876]

boolean isInstalledStandard( string $standard)

Determine if a standard is installed.

Coding standards are directories located in the CodeSniffer/Standards directory. Valid coding standards include a Sniffs subdirectory.


Parameters:

string   $standard     The name of the coding standard.

[ Top ]

isUnderscoreName   [line 1712]

boolean isUnderscoreName( string $string)

Returns true if the specified string is in the underscore caps format.
  • Access: public

Parameters:

string   $string     The string to verify.

[ Top ]

populateCustomRules   [line 882]

void populateCustomRules( [string $standard = null])

Sets installed sniffs in the coding standard being used.
  • Access: public

Parameters:

string   $standard     The name of the coding standard we are checking. Can also be a path to a custom ruleset.xml file.

[ Top ]

populateTokenListeners   [line 968]

void populateTokenListeners( )

Populates the array of PHP_CodeSniffer_Sniff's for this file.
  • Throws: PHP_CodeSniffer_Exception If sniff registration fails.
  • Access: public

[ Top ]

process   [line 397]

void process( string|array $files, string $standard, [ $sniffs = array()], [boolean $local = false])

Processes the files/directories that PHP_CodeSniffer was constructed with.
  • Throws: PHP_CodeSniffer_Exception If files or standard are invalid.
  • Access: public

Parameters:

string|array   $files     The files and directories to process. For directories, each sub directory will also be traversed for source files.
string   $standard     The set of code sniffs we are testing against.
array   $sniffs     The sniff names to restrict the allowed listeners to.
boolean   $local     If true, don't recurse into directories.

[ Top ]

processFile   [line 1168]

PHP_CodeSniffer_File processFile( string $file, [string $contents = null])

Run the code sniffs over a single given file.

Processes the file and runs the PHP_CodeSniffer sniffs to verify that it conforms with the standard. Returns the processed file object, or NULL if no file was processed due to error.

  • See: _processFile()
  • Throws: PHP_CodeSniffer_Exception If the file could not be processed.
  • Access: public

Parameters:

string   $file     The file to process.
string   $contents     The contents to parse. If NULL, the content is taken from the file system.

[ Top ]

processMulti   [line 551]

void processMulti( )

Processes multi-file sniffs.
  • Access: public

[ Top ]

resolveSimpleToken   [line 1531]

array resolveSimpleToken( string $token)

Converts simple tokens into a format that conforms to complex tokens produced by token_get_all().

Simple tokens are tokens that are not in array form when produced from token_get_all().

  • Return: The new token in array format.
  • Access: public

Parameters:

string   $token     The simple token to convert.

[ Top ]

resolveTstringToken   [line 1488]

array resolveTstringToken( $token)

Converts T_STRING tokens into more usable token names.

The token should be produced using the token_get_all() function. Currently, not all T_STRING tokens are converted.

  • Return: The new token.
  • Access: public

Parameters:

string|array   $token     The T_STRING token to convert as constructed by token_get_all().

[ Top ]

setAllowedFileExtensions   [line 294]

void setAllowedFileExtensions( $extensions)

Sets an array of file extensions that we will allow checking of.

If the extension is one of the defaults, a specific tokenizer will be used. Otherwise, the PHP tokenizer will be used for all extensions passed.

  • Access: public

Parameters:

array   $extensions     An array of file extensions.

[ Top ]

setCli   [line 359]

void setCli( object $cli)

Sets the internal CLI object.
  • Access: public

Parameters:

object   $cli     The CLI object controlling the run.

[ Top ]

setConfigData   [line 1951]

boolean setConfigData( string $key, string|null $value, [boolean $temp = false])

Set a single config value.

Config data is stored in the data dir, in a file called CodeSniffer.conf. It is a simple PHP array.


Parameters:

string   $key     The name of the config value.
string|null   $value     The value to set. If null, the config entry is deleted, reverting it to the default value.
boolean   $temp     Set this config data temporarily for this script run. This will not write the config data to the config file.

[ Top ]

setIgnorePatterns   [line 319]

void setIgnorePatterns( $patterns)

Sets an array of ignore patterns that we use to skip files and folders.

Patterns are not case sensitive.

  • Access: public

Parameters:

array   $patterns     An array of ignore patterns.

[ Top ]

setTokenListeners   [line 585]

void setTokenListeners( string $standard, [ $sniffs = array()])

Sets installed sniffs in the coding standard being used.

Traverses the standard directory for classes that implement the PHP_CodeSniffer_Sniff interface asks them to register. Each of the sniff's class names must be exact as the basename of the sniff file. If the standard is a file, will skip transversal and just load sniffs from the file.

  • Throws: PHP_CodeSniffer_Exception If the standard is not valid.
  • Access: public

Parameters:

string   $standard     The name of the coding standard we are checking. Can also be a path to a custom standard dir containing a ruleset.xml file or can be a path to a custom ruleset file.
array   $sniffs     The sniff names to restrict the allowed listeners to.

[ Top ]

shouldIgnoreFile   [line 1129]

bool shouldIgnoreFile( string $path)

Checks filtering rules to see if a file should be ignored.
  • Access: public

Parameters:

string   $path     The path to the file being checked.

[ Top ]

shouldProcessFile   [line 1087]

bool shouldProcessFile( string $path)

Checks filtering rules to see if a file should be checked.

Checks both file extension filters and path ignore filters.

  • Access: public

Parameters:

string   $path     The path to the file being checked.

[ Top ]

standardiseToken   [line 1445]

array standardiseToken( string|array $token)

Takes a token produced from
and produces a more uniform token.

Note that this method also resolves T_STRING tokens into more descrete types, therefore there is no need to call resolveTstringToken()

  • Return: The new token.
  • Access: public

Parameters:

string|array   $token     The token to convert.

[ Top ]

suggestType   [line 1753]

string suggestType( string $varType)

Returns a valid variable type for param/var tag.

If type is not one of the standard type, it must be a custom type. Returns the correct type name suggestion if type name is invalid.

  • Access: public

Parameters:

string   $varType     The variable type to process.

[ Top ]


Documentation generated on Thu, 17 May 2012 05:00:27 +0000 by phpDocumentor 1.4.3. PEAR Logo Copyright © PHP Group 2004.