Parser
in package
Class responsible for parsing the given file or files to the intermediate structure file.
This class can be used to parse one or more files to the intermediate file format for further processing.
Table of Contents
Properties
- $defaultPackageName : string
- $encoding : string
- $logger : LoggerInterface
- $markers : array<string|int, string>
- $path : string
- $projectFactory : ProjectFactory
- $stopwatch : Stopwatch
- $validate : bool
Methods
- __construct() : mixed
- Initializes the parser.
- doValidation() : bool
- Returns whether we want to run PHPLint on every file.
- getDefaultPackageName() : string
- Returns the name of the default package.
- getEncoding() : string
- Returns the currently active encoding.
- getMarkers() : array<string|int, string>
- Returns the list of markers.
- getPath() : string
- Returns the absolute base path for all files.
- parse() : Project
- Iterates through the given files feeds them to the builder.
- setDefaultPackageName() : void
- Sets the name of the default package.
- setEncoding() : void
- Sets the encoding of the files.
- setMarkers() : void
- Sets a list of markers to gather (i.e. TODO, FIXME).
- setPath() : void
- Sets the base path of the files that will be parsed.
- setValidate() : void
- Sets whether to run PHPLint on every file.
- log() : void
- Dispatches a logging request.
- logAfterParsingAllFiles() : void
- Writes the complete parsing cycle to log.
- startTimingTheParsePhase() : void
Properties
$defaultPackageName
private
string
$defaultPackageName
= 'Default'
the name of the default package
$encoding
private
string
$encoding
= 'utf-8'
The encoding in which the files are encoded
$logger read-only
private
LoggerInterface
$logger
$markers
private
array<string|int, string>
$markers
= ['TODO', 'FIXME']
which markers (i.e. TODO or FIXME) to collect
$path
private
string
$path
= ''
target location's root path
$projectFactory read-only
private
ProjectFactory
$projectFactory
$stopwatch read-only
private
Stopwatch
$stopwatch
The profiling component that measures time and memory usage over time
$validate
private
bool
$validate
= false
whether to execute a PHPLint on every file
Methods
__construct()
Initializes the parser.
public
__construct(ProjectFactory $projectFactory, Stopwatch $stopwatch, LoggerInterface $logger) : mixed
This constructor checks the user's PHP ini settings to detect which encoding is used by default. This encoding is used as a default value for phpDocumentor to convert the source files that it receives.
If no encoding is specified than 'utf-8' is assumed by default.
Parameters
- $projectFactory : ProjectFactory
- $stopwatch : Stopwatch
- $logger : LoggerInterface
Tags
doValidation()
Returns whether we want to run PHPLint on every file.
public
doValidation() : bool
Return values
boolgetDefaultPackageName()
Returns the name of the default package.
public
getDefaultPackageName() : string
Return values
stringgetEncoding()
Returns the currently active encoding.
public
getEncoding() : string
Return values
stringgetMarkers()
Returns the list of markers.
public
getMarkers() : array<string|int, string>
Return values
array<string|int, string>getPath()
Returns the absolute base path for all files.
public
getPath() : string
Return values
stringparse()
Iterates through the given files feeds them to the builder.
public
parse(array<string|int, File> $files) : Project
Parameters
- $files : array<string|int, File>
Return values
ProjectsetDefaultPackageName()
Sets the name of the default package.
public
setDefaultPackageName(string $defaultPackageName) : void
Parameters
- $defaultPackageName : string
-
Name used to categorize elements without an @package tag.
setEncoding()
Sets the encoding of the files.
public
setEncoding(string $encoding) : void
With this option it is possible to tell the parser to use a specific encoding to interpret the provided files.
By default this is set to UTF-8, in which case no action is taken. Any other encoding will result in the output
being converted to UTF-8 using iconv
.
Please note that it is recommended to provide files in UTF-8 format; this will ensure a faster performance since no transformation is required.
Parameters
- $encoding : string
setMarkers()
Sets a list of markers to gather (i.e. TODO, FIXME).
public
setMarkers(array<string|int, string> $markers) : void
Parameters
- $markers : array<string|int, string>
-
A list or markers to gather.
setPath()
Sets the base path of the files that will be parsed.
public
setPath(string $path) : void
Parameters
- $path : string
-
Must be an absolute path.
setValidate()
Sets whether to run PHPLint on every file.
public
setValidate(bool $validate) : void
PHPLint has a huge performance impact on the execution of phpDocumentor and is thus disabled by default.
Parameters
- $validate : bool
-
when true this file will be checked.
log()
Dispatches a logging request.
private
log(string $message[, string $priority = LogLevel::INFO ][, array<string|int, string> $parameters = [] ]) : void
Parameters
- $message : string
-
The message to log.
- $priority : string = LogLevel::INFO
-
The logging priority as declared in the LogLevel PSR-3 class.
- $parameters : array<string|int, string> = []
logAfterParsingAllFiles()
Writes the complete parsing cycle to log.
private
logAfterParsingAllFiles() : void
startTimingTheParsePhase()
private
startTimingTheParsePhase() : void