Inherited Variables
Inherited Constants
Inherited Methods
Class Details
Intermediate procedural page parsing structure.
This structure parses defines, functions, and global variables by file, and then iterates over the elements to document conflicts.
Tags:
- author - Greg Beaver <[email protected]>
- version - Release: @VER@
- copyright - 2002-2008 Gregory Beaver
- link - http://pear.php.net/PhpDocumentor
- link - http://www.phpdoc.org
- todo - CS cleanup - change package to PhpDocumentor
- since - 1.1
- license - LGPL
[ Top ]
Class Variables
$curfile
[line 67]
file being parsed, used in every add function to match up elements with the file that contains them
Tags:
- see - addClass(), addMethod(), addVar(), nextFile()
Type: string
Overrides:
[ Top ]
$defineconflicts = array()
[line 314]
Namespace conflicts within all documented packages of functions
Format:
array( functionname => array( full path, full path, ... ) )
Type: array
Overrides:
[ Top ]
$definesbyfile = array()
[line 157]
array of parsed defines organized by the full path of the file that contains the define.
Format:
array( full path => array( definename => parserDefine ) )
Type: array
Overrides:
[ Top ]
$definesbynamefile = array()
[line 211]
array of file names organized by defines that are in the file.
This structure is designed to handle name conflicts. Two files can contain defines with the same name, and this array will record both filenames to help control namespace errors Format:
array( definename => array( full path of file containing definename, full path of file 2 containing definename, ... ) )
Type: array
Overrides:
[ Top ]
$functionconflicts = array()
[line 282]
Namespace conflicts within all documented packages of functions
Format:
array( functionname => array( full path, full path, ... ) )
Type: array
Overrides:
[ Top ]
$functionsbyfile = array()
[line 142]
array of parsed functions organized by the full path of the file that contains the function.
Format:
array( full path => array( functionname => parserFunction ) )
Type: array
Overrides:
[ Top ]
$functionsbynamefile = array()
[line 192]
array of file names organized by functions that are in the file.
This structure is designed to handle name conflicts. Two files can contain functions with the same name, and this array will record both filenames to help control namespace errors Format:
array( functionname => array( full path of file containing functionname, full path of file 2 containing functionname, ... ) )
Type: array
Overrides:
[ Top ]
$globalconflicts = array()
[line 330]
Namespace conflicts within all documented packages of functions
Format:
array( functionname => array( full path, full path, ... ) )
Type: array
Overrides:
[ Top ]
$globalsbyfile = array()
[line 172]
array of parsed global variables organized by the full path of the file that contains the global variable definition.
Format:
array( full path => array( globalname => parserGlobal ) )
Type: array
Overrides:
[ Top ]
$globalsbynamefile = array()
[line 231]
array of file names organized by global variables that are in the file.
This structure is designed to handle name conflicts. Two files can contain global variables with the same name, and this array will record both filenames to help control namespace errors Format:
array( global variablename => array( full path of file containing global variablename, full path of file 2 containing global variablename, ... ) )
Type: array
Overrides:
[ Top ]
$ignorepages = array()
[line 100]
array of all procedural pages ordered by name
that have been ignored via -po or @access private or @ignore Format:
array( name => array( fullpath => parserPage, fullpath => parserPage2 [if there are name conflicts], ... ) )
Type: array
Overrides:
[ Top ]
$includesbyfile = array()
[line 127]
array of parsed includes organized by the full path of the file that contains the include.
Format:
array( full path => array( includename => parserInclude ) )
Type: array
Overrides:
[ Top ]
$pageclasspackages = array()
[line 266]
array of packages assigned to classes in a file, ordered by fullpath
Format:
array( fullpath => array( packagename => array( subpackagename => 1, subpackagename => 1, .. ), packagename2 => array(... ) ) )
Type: array
Overrides:
[ Top ]
$pageconflicts = array()
[line 298]
Namespace conflicts within all documented pages
Format:
array( pagename => array( fullpath, fullpath, ... ) )
Type: array
Overrides:
[ Top ]
$pagepackages = array()
[line 246]
array of packages ordered by full path
Format:
array( fullpath => array( packagename, subpackagename ) )
Type: array
Overrides:
[ Top ]
$pages = array()
[line 83]
array of all procedural pages ordered by name
Format:
array( name => array( fullpath => parserPage, fullpath => parserPage2 [if there are name conflicts], ... ) )
Type: array
Overrides:
[ Top ]
$pathpages = array()
[line 112]
array of all procedural page names ordered by full path to the file
Format:
array( fullpath => name )
Type: array
Overrides:
[ Top ]
Class Methods
addClassPackageToFile
void addClassPackageToFile(
string
$file, string
$package, string
$subpackage)
[line 613]
adds a package from a class to the current file
Parameters:
- string $file - full path to the file that contains the class
- string $package - package name
- string $subpackage - subpackage name
[ Top ]
addDefine
void addDefine(
parserDefine
&$element)
[line 552]
sets up the $definesbyfile array using $curfile
Parameters:
- parserDefine &$element - the "define" element
[ Top ]
addFunction
void addFunction(
parserFunction
&$element)
[line 508]
sets up the $functionsbyfile array using $curfile
Parameters:
- parserFunction &$element - the "function" object
[ Top ]
addGlobal
void addGlobal(
parserGlobal
&$element)
[line 530]
sets up the $globalsbyfile array using $curfile
Parameters:
- parserGlobal &$element - the "global" element
[ Top ]
addInclude
void addInclude(
parserInclude
&$element)
[line 496]
sets up the $includesbyfile array using $curfile
Parameters:
- parserInclude &$element - the "include" element object
[ Top ]
addPage
void addPage(
parserPage
&$element)
[line 349]
sets up the $pages array
Parameters:
- parserPage &$element - the parser page element
[ Top ]
addPagePackage
void addPagePackage(
string
$path, string
$package, string
$subpackage)
[line 450]
Changes the package of the page represented by $path
changes package in both the $pages array and the pagepackages array
Parameters:
- string $path - full path
- string $package - the package name
- string $subpackage - the subpackage name
[ Top ]
getPathInfo
array|bool getPathInfo(
string
$path, mixed
&$c)
[line 385]
gathers path-related info about a given element
Tags:
- return - an array of path info, or FALSE
- todo - figure out what &$c is and update the param tag
Parameters:
- string $path - path to the element
- mixed &$c - ???
[ Top ]
getRealPath
array|string getRealPath(
string
$path, string
$file)
[line 1033]
Ensures the path to the file is an absolute path
Tags:
- return - returns an array of possible file locations or a string if there is an exact match
Parameters:
- string $path - path to the file
- string $file - the file name
[ Top ]
ignorePage
void ignorePage(
parserPage
&$element)
[line 368]
moves a page from the $pages array to the $ignorepages array
Parameters:
- parserPage &$element - the parser page element
[ Top ]
pathMatchesParsedFile
parserPage|bool pathMatchesParsedFile(
string
$path, string
$infile)
[line 983]
checks to see if the parsed file matches the given path
Tags:
- return - matched parserPage if found, or FALSE if not found
Parameters:
- string $path - the path to look for
- string $infile - the file to check
[ Top ]
replaceElement
void replaceElement(
parserElement
&$element)
[line 575]
Used to align an element with the package of its parent page prior to Conversion.
Parameters:
- parserElement &$element - the element to align
[ Top ]
setName
void setName(
string
$name)
[line 421]
Change a page's name from its file to alias $name
This function is used to handle a @name tag in a page-level DocBlock
Parameters:
- string $name - the alias
[ Top ]
setParseBase
void setParseBase(
mixed
$pbase)
[line 969]
sets the parser base
Parameters:
- mixed $pbase - the parser base
[ Top ]
setupPagePackages
void setupPagePackages(
)
[line 628]
if there is one class package in a file, the parent path inherits the package if its package is default.
helps with -po to avoid dumb bugs
Parameters:
[ Top ]
setupPages
void setupPages(
phpDocumentor_IntermediateParser
&$render)
[line 911]
Adjusts packages of all pages and removes name conflicts within a package
Automatic linking requires that each linkable name have exactly one element associated with it. In other words, there cannot be two functions named foo() in the same package.
This also adheres to php rules with one exception:
- if ($test == 3) {
- } else {
- }
phpDocumentor is not aware of conditional control structures because it would slow things down considerably. So, what phpDocumentor does is automatically ignore the second define and raise a warning. The warning can be eliminated with an @ignore tag on the second element like so:
- if ($test == 3) {
- } else {
- /**
- * @ignore
- */
- }
If there are two files that contain the same procedural elements in the same package (for example, a common configuration file common.php), they will also be ignored as if they were in the same file. The reasoning behind this is simple. A package is an indivisible set of files and classes that a user will include in their code. Name conflicts must be avoided to allow successful execution.
This function also plays the all-important role of calling phpDocumentor_IntermediateParser::addElementToPage() in order to add processed elements to their pages for Conversion.
Parameters:
- phpDocumentor_IntermediateParser &$render - the parser
[ Top ]