phpDocumentor phpDocumentor
[ class tree: phpDocumentor ] [ index: phpDocumentor ] [ all elements ]
phpDocumentor
Packages:
phpDocumentor
Converters

Tutorials/Manuals:
Package-level: Files:
actions.php
bug-560532.php
bug-772441.php
builder.php
Classes.inc
clone.inc.php
clone5.inc.php
common.inc.php
config.php
EventStack.inc
file_dialog.php
HighlightParserTests.php
IntermediateParser.inc
IntermediateParserTests.php
Io.inc
new_phpdoc.php
ParserClassTests.php
ParserDescCleanup.inc
ParserPageTests.php
phpdoc.inc
phpdoc.php
phpDocumentorSetupTests.php
phpDocumentorTParserTests.php
ProceduralPages.inc
Publisher.inc
Setup.inc.php
top.php
utilities.php
DescHTML
DescHTML.inc
DocBlockTags
DocBlockTags.inc
Errors
Errors.inc
InlineTags
InlineTags.inc
Links
LinkClasses.inc
ParserData
ParserData.inc
ParserDocBlock
ParserDocBlock.inc
ParserElements
ParserElements.inc
Parsers
Beautifier.php
HighlightParser.inc
Parser.inc
phpDocumentorTParser.inc
Tokenizer.php
TutorialHighlightParser.inc
XMLpackagePageParser.inc
setup
find_phpdoc.php
Tutorial
PackagePageElements.inc
WordParsers
phpDocumentorTWordParser.inc
WordParser.inc

Classes:
Parsers
Parser
parserDescParser
phpDocumentorTParser
phpDocumentor_HighlightParser
phpDocumentor_HighlightWordParser
phpDocumentor_peardoc2_XML_Beautifier
phpDocumentor_TutorialHighlightParser
phpDocumentor_XML_Beautifier_Tokenizer
ppageParser
XMLPackagePageParser
bug_772441
Classes
EventStack
Io
phpDocumentor_IntermediateParser
phpDocumentor_setup
ProceduralPages
Publisher
tests_HighlightParserTests
tests_IntermediateParserTests
tests_ParserClassTests
tests_ParserPageTests
tests_phpDocumentorSetupTests
tests_phpDocumentorTParserTests
DescHTML
parserB
parserBr
parserCode
parserDescVar
parserI
parserKbd
parserList
parserPre
parserSamp
DocBlockTags
parserAccessTag
parserExampleTag
parserFileSourceTag
parserLicenseTag
parserLinkTag
parserMethodTag
parserNameTag
parserParamTag
parserPropertyReadTag
parserPropertyTag
parserPropertyWriteTag
parserReturnTag
parserSeeTag
parserStaticvarTag
parserTag
parserTutorialTag
parserUsedByTag
parserUsesTag
parserVarTag
Errors
ErrorTracker
RecordError
RecordWarning
InlineTags
parserExampleInlineTag
parserIdInlineTag
parserInheritdocInlineTag
parserInlineTag
parserLinkInlineTag
parserSourceInlineTag
parserTocInlineTag
parserTutorialInlineTag
Links
abstractLink
classLink
constLink
defineLink
functionLink
globalLink
methodLink
pageLink
tutorialLink
varLink
Tutorial
parserCData
parserEntity
parserXMLDocBookTag
ParserData
parserBase
parserData
parserPage
parserStringWithInlineTags
WordParsers
ObjectWordParser
phpDocumentorTWordParser
WordParser
ParserDocBlock
parserDesc
parserDocBlock
ParserElements
parserClass
parserConst
parserDefine
parserElement
parserFunction
parserGlobal
parserInclude
parserMethod
parserPackagePage
parserTutorial
parserVar

Class: ProceduralPages

Source Location: /phpDocumentor/ProceduralPages.inc

Class ProceduralPages

Class Overview

Intermediate procedural page parsing structure.

This structure parses defines, functions, and global variables by file, and then iterates over the elements to document conflicts.

Located in /phpDocumentor/ProceduralPages.inc [line 58]

Author(s): Information Tags:
Version: Release: @VER@
Copyright: 2002-2008 Gregory Beaver
Todo: CS cleanup - change package to PhpDocumentor
Since: 1.1
License: LGPL

Properties

Methods

[ Top ]
Property Summary
string $curfile file being parsed, used in every add function to match up elements with the file that contains them
array $defineconflicts Namespace conflicts within all documented packages of functions
array $definesbyfile array of parsed defines organized by the full path of the file that contains the define.
array $definesbynamefile array of file names organized by defines that are in the file.
array $functionconflicts Namespace conflicts within all documented packages of functions
array $functionsbyfile array of parsed functions organized by the full path of the file that contains the function.
array $functionsbynamefile array of file names organized by functions that are in the file.
array $globalconflicts Namespace conflicts within all documented packages of functions
array $globalsbyfile array of parsed global variables organized by the full path of the file that contains the global variable definition.
array $globalsbynamefile array of file names organized by global variables that are in the file.
array $ignorepages array of all procedural pages ordered by name
array $includesbyfile array of parsed includes organized by the full path of the file that contains the include.
array $pageclasspackages array of packages assigned to classes in a file, ordered by fullpath
array $pageconflicts Namespace conflicts within all documented pages
array $pagepackages array of packages ordered by full path
array $pages array of all procedural pages ordered by name
array $pathpages array of all procedural page names ordered by full path to the file

[ Top ]
Method Summary
void addClassPackageToFile() adds a package from a class to the current file
void addDefine() sets up the $definesbyfile array using $curfile
void addFunction() sets up the $functionsbyfile array using $curfile
void addGlobal() sets up the $globalsbyfile array using $curfile
void addInclude() sets up the $includesbyfile array using $curfile
void addPage() sets up the $pages array
void addPagePackage() Changes the package of the page represented by $path
array|bool getPathInfo() gathers path-related info about a given element
array|string getRealPath() Ensures the path to the file is an absolute path
void ignorePage() moves a page from the $pages array to the $ignorepages array
parserPage|bool pathMatchesParsedFile() checks to see if the parsed file matches the given path
void replaceElement() Used to align an element with the package of its parent page prior to Conversion.
void setName() Change a page's name from its file to alias $name
void setParseBase() sets the parser base
void setupPagePackages() if there is one class package in a file, the parent path inherits the package if its package is default.
void setupPages() Adjusts packages of all pages and removes name conflicts within a package

[ Top ]
Properties
string $curfile [line 67]

file being parsed, used in every add function to match up elements with the file that contains them

API Tags:
See: addClass(), addMethod(), addVar(), nextFile()


[ Top ]
array $defineconflicts = array() [line 314]

Namespace conflicts within all documented packages of functions

Format:

 array(
 functionname => array(
 full path,
 full path,
 ...
 )
 )


[ Top ]
array $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
 )
 )


[ Top ]
array $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,
 ...
 )
 )


[ Top ]
array $functionconflicts = array() [line 282]

Namespace conflicts within all documented packages of functions

Format:

 array(
 functionname => array(
 full path,
 full path,
 ...
 )
 )


[ Top ]
array $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
 )
 )


[ Top ]
array $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,
 ...
 )
 )


[ Top ]
array $globalconflicts = array() [line 330]

Namespace conflicts within all documented packages of functions

Format:

 array(
 functionname => array(
 full path,
 full path,
 ...
 )
 )


[ Top ]
array $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
 )
 )


[ Top ]
array $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,
 ...
 )
 )


[ Top ]
array $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],
 ...
 )
 )


[ Top ]
array $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
 )
 )


[ Top ]
array $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(...
 )
 )
 )


[ Top ]
array $pageconflicts = array() [line 298]

Namespace conflicts within all documented pages

Format:

 array(
 pagename => array(
 fullpath,
 fullpath,
 ...
 )
 )


[ Top ]
array $pagepackages = array() [line 246]

array of packages ordered by full path

Format:

 array(
 fullpath => array(
 packagename,
 subpackagename
 )
 )


[ Top ]
array $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],
 ...
 )
 )


[ Top ]
array $pathpages = array() [line 112]

array of all procedural page names ordered by full path to the file

Format:

 array(
 fullpath => name
 )


[ Top ]
Methods
addClassPackageToFile [line 613]

void addClassPackageToFile( string $file, string $package, string $subpackage )

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 [line 552]

void addDefine( parserDefine &$element )

sets up the $definesbyfile array using $curfile

Parameters:
parserDefine &$element: the "define" element


[ Top ]
addFunction [line 508]

void addFunction( parserFunction &$element )

sets up the $functionsbyfile array using $curfile

Parameters:
parserFunction &$element: the "function" object


[ Top ]
addGlobal [line 530]

void addGlobal( parserGlobal &$element )

sets up the $globalsbyfile array using $curfile

Parameters:
parserGlobal &$element: the "global" element


[ Top ]
addInclude [line 496]

void addInclude( parserInclude &$element )

sets up the $includesbyfile array using $curfile

Parameters:
parserInclude &$element: the "include" element object


[ Top ]
addPage [line 349]

void addPage( parserPage &$element )

sets up the $pages array

Parameters:
parserPage &$element: the parser page element


[ Top ]
addPagePackage [line 450]

void addPagePackage( string $path, string $package, string $subpackage )

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 [line 385]

array|bool getPathInfo( string $path, mixed &$c )

gathers path-related info about a given element

Parameters:
string $path: path to the element
mixed &$c: ???

API Tags:
Return: an array of path info, or FALSE

Information Tags:
Todo: figure out what &$c is and update the param tag

[ Top ]
getRealPath [line 1033]

array|string getRealPath( string $path, string $file )

Ensures the path to the file is an absolute path

Parameters:
string $path: path to the file
string $file: the file name

API Tags:
Return: returns an array of possible file locations or a string if there is an exact match


[ Top ]
ignorePage [line 368]

void ignorePage( parserPage &$element )

moves a page from the $pages array to the $ignorepages array

Parameters:
parserPage &$element: the parser page element


[ Top ]
pathMatchesParsedFile [line 983]

parserPage|bool pathMatchesParsedFile( string $path, string $infile )

checks to see if the parsed file matches the given path

Parameters:
string $path: the path to look for
string $infile: the file to check

API Tags:
Return: matched parserPage if found, or FALSE if not found


[ Top ]
replaceElement [line 575]

void replaceElement( parserElement &$element )

Used to align an element with the package of its parent page prior to Conversion.

Parameters:
parserElement &$element: the element to align


[ Top ]
setName [line 421]

void setName( string $name )

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 [line 969]

void setParseBase( mixed $pbase )

sets the parser base

Parameters:
mixed $pbase: the parser base


[ Top ]
setupPagePackages [line 628]

void setupPagePackages( )

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



[ Top ]
setupPages [line 911]

void setupPages( phpDocumentor_IntermediateParser &$render )

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:

  1. if ($test == 3) {
  2. define ('whatever', 'this thing');
  3. } else {
  4. define ('whatever', 'this other thing');
  5. }

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:

  1. if ($test == 3) {
  2. define ('whatever', 'this thing');
  3. } else {
  4. /**
  5. * @ignore
  6. */
  7. define ('whatever', 'this other thing');
  8. }

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 ]

Documentation generated on 2011年12月06日 07:21:13 -0600 by phpDocumentor 1.4.4

AltStyle によって変換されたページ (->オリジナル) /