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: Classes

Source Location: /phpDocumentor/Classes.inc

Class Classes

Class Overview
Class Overview | Method Summary | Methods Detail

Intermediate class parsing structure.

The phpDocumentor_IntermediateParser class uses this class and its cousin, ProceduralPages to organize all parsed source code elements. Data is fed to each immediately after it is parsed, and at conversion time, everything is organized.

The Classes class is responsible for all inheritance, including resolving name conflicts between classes, determining which classes extend other classes, and is responsible for all inheritance of documentation.

Located in /phpDocumentor/Classes.inc [line 70 ]

Author(s): Information Tags:
Version: Release: @VER@
Copyright: 2001-2007 Gregory Beaver
Todo: CS cleanup - change package to PhpDocumentor
Since: 1.0rc1
License: LGPL

Methods

[ Top ]
Method Summary
Class Overview | Method Summary | Methods Detail
void addClass() While parsing, add a class to the list of parsed classes
void addConst() While parsing, add a variable to the list of parsed variables
void addMethod() While parsing, add a method to the list of parsed methods
void addPackageToFile() Mark a package as being used in a class
void addVar() While parsing, add a variable to the list of parsed variables
parserClass &getClass() Get the parserClass representation of a class from its name and file
mixed &getClassByPackage() Search for a class in a package
mixed getClassesInPath() Used by parserData::getClasses() to retrieve classes defined in file $path
mixed getConflicts() If a package contains two classes with the same name, this function finds that conflict
mixed getDefiniteChildren() Get all classes confirmed in parsing to be descended class $parclass in file $file
mixed getParentClass() Find the parent class of a class in file $file
array getRoots() Get a list of all root classes indexed by package. Used to generate class trees by Converter
void Inherit() Main processing engine for setting up class inheritance.
void nextFile() Prepare to parse a new file
void processChild() This function recursively climbs up the class tree, setting inherited information like package and adds the elements to phpDocumentor_IntermediateParser.
void setClassParent() Find the parent class of $class, and set up structures to note this fact

[ Top ]
Methods
Class Overview | Method Summary | Methods Detail
addClass [line 393]

void addClass( parserClass &$element )

While parsing, add a class to the list of parsed classes

sets up the $classesbyfile, $classesbynamefile, $extendsbyfile, $classchildrenbyfile, $roots arrays, and sets $curclass

Parameters:
parserClass &$element: element is a parserClass

API Tags:
Uses: Classes::addPackageToFile() - marks the current class's package as being present in a file


[ Top ]
addConst [line 466]

void addConst( parserConst &$element )

While parsing, add a variable to the list of parsed variables

sets up the $constsbyfile array using $curfile and $curclass

Parameters:
parserConst &$element: element is a parserConst


[ Top ]
addMethod [line 434]

void addMethod( parserMethod &$element )

While parsing, add a method to the list of parsed methods

sets up the $methodsbyfile array using $curfile and $curclass

Parameters:
parserMethod &$element: element is a parserMethod


[ Top ]
addPackageToFile [line 497]

void addPackageToFile( string $package )

Mark a package as being used in a class

  1. function addPackageToFile ($package)
  2. {
  3. if (!isset($this->revcpbf[$this->curfile][$package]))
  4. $this->classpackagebyfile[$this->curfile][] = $package;
  5. $this->revcpbf[$this->curfile][$package] = 1;
  6. }

Parameters:
string $package: package name

API Tags:
Usedby: Classes::addClass() - marks the current class's package as being present in a file


[ Top ]
addVar [line 450]

void addVar( parserVar &$element )

While parsing, add a variable to the list of parsed variables

sets up the $varsbyfile array using $curfile and $curclass

Parameters:
parserVar &$element: element is a parserVar


[ Top ]
getClass [line 943]

parserClass &getClass( string $class, string $file )

Get the parserClass representation of a class from its name and file

Parameters:
string $class: classname
string $file: file classname is located in


[ Top ]
getClassByPackage [line 1189]

mixed &getClassByPackage( string $class, string $package )

Search for a class in a package

Parameters:
string $class: classname
string $package: package classname is in

API Tags:
Return: returns false if no class in $package, otherwise returns a parserClass


[ Top ]
getClassesInPath [line 960]

mixed getClassesInPath( string $path )

Used by parserData::getClasses() to retrieve classes defined in file $path

retrieves the array entry from $classesbyfile for $path

Parameters:
string $path: full path to filename

API Tags:
Return: returns false if no classes defined in the file, otherwise returns an array of parserClasses


[ Top ]
getConflicts [line 630]

mixed getConflicts( mixed $class )

If a package contains two classes with the same name, this function finds that conflict

Returns the $classconflicts entry for class $class, minus its own path

Parameters:
mixed $class: the class name to search for

API Tags:
Return: returns false if no conflicts, or an array of paths containing conflicts


[ Top ]
getDefiniteChildren [line 1349]

mixed getDefiniteChildren( string $parclass, string $file )

Get all classes confirmed in parsing to be descended class $parclass in file $file

Parameters:
string $parclass: name of parent class
string $file: file parent class is found in

API Tags:
Return: either false if no children, or array of format array(childname => childfile,childname2 => childfile2,...)
Uses: $definitechild


[ Top ]
getParentClass [line 1227]

mixed getParentClass( string $class, string $file )

Find the parent class of a class in file $file

uses 3 tests to find the parent classname:

  1. only one class with the parent classname
  2. more than one class, but only one in the same file as the child
  3. only one parent class in the same package as the child

Parameters:
string $class: classname
string $file: file classname is located in

API Tags:
Return: false if no parent class, a string if no parent class found by that name, and an array(file parentclass is in, parentclassname)
Usedby: Classes::setClassParent() - to find the parent class


[ Top ]
getRoots [line 1292]

array getRoots( [boolean $all = false] )

Get a list of all root classes indexed by package. Used to generate class trees by Converter

Parameters:
boolean $all: [since phpDocumentor 1.3.0RC6] determines whether to return class trees that extend non-parsed classes

API Tags:
Return: array(package => array(rootclassname, rootclassname,...),...)


[ Top ]
Inherit [line 546]

void Inherit( phpDocumentor_IntermediateParser &$render )

Main processing engine for setting up class inheritance.

This function uses $roots to traverse the inheritance tree via processChild() and returns the data structures phpDocumentor_IntermediateParser needs to convert parsed data to output using phpDocumentor_IntermediateParser::Convert()

Parameters:
phpDocumentor_IntermediateParser &$render: the renderer object

API Tags:
Uses: Classes::processChild() - set up inheritance

Information Tags:
Todo: CS Cleanup - rename to "inherit" for CamelCaps naming standard

[ Top ]
nextFile [line 482]

void nextFile( string $file )

Prepare to parse a new file

sets $curfile to $file and $curclass to false (no class being parsed)

Parameters:
string $file: file currently being parsed


[ Top ]
processChild [line 690]

void processChild( phpDocumentor_IntermediateParser &$render, string $class, string $file, [boolean $furb = false] )

This function recursively climbs up the class tree, setting inherited information like package and adds the elements to phpDocumentor_IntermediateParser.

Using structures defined in Classes, the function first sets package information, and then seeks out child classes. It uses 3 tests to determine whether a class is a child class.

  1. child class is in the same file as the parent class and extends parent class
  2. child class is in a different file and specifies the parent's @package in its docblock
  3. child class is in a different file and is in a different @package, with one possible parent class

Parameters:
phpDocumentor_IntermediateParser &$render: the renderer object
string $class: class to process
string $file: name of file $class is located in
boolean $furb: flag used privately to control informational output while parsing (used when processing leftover classes in Inherit()

API Tags:
Global: string $phpDocumentor_DefaultPackageName: default package, usually "default"
Usedby: Classes::Inherit() - set up inheritance


[ Top ]
setClassParent [line 518]

void setClassParent( string $class, string $file )

Find the parent class of $class, and set up structures to note this fact

Modifies the parserClass element in $classesbyfile to use the parent's package, and inherit methods/vars

Parameters:
string $class: child class to find parent class
string $file: file child class is located in

API Tags:
Uses: Classes::getParentClass() - to find the parent class
Uses: $definitechild - if a match is made between a parent class and parameter $class in file $file, then definitechild is set here


[ Top ]

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

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