PHP Class Phan\CodeBase

In order to understand internal classes, interfaces, traits and functions, a CodeBase needs to be initialized with the list of those elements begotten before any classes are loaded. # Example Grab these before we define our own classes $internal_class_name_list = get_declared_classes(); $internal_interface_name_list = get_declared_interfaces(); $internal_trait_name_list = get_declared_traits(); $internal_function_name_list = get_defined_functions()['internal']; Load any required code ... $code_base = new CodeBase( $internal_class_name_list, $internal_interface_name_list, $internal_trait_name_list, $internal_function_name_list ); Do stuff ...
Afficher le fichier Open project: etsy/phan Class Usage Examples

Méthodes publiques

Méthode Description
__clone ( ) Clone dependent objects when cloning this object
__construct ( array $internal_class_name_list, array $internal_interface_name_list, array $internal_trait_name_list, array $internal_function_name_list ) Initialize a new CodeBase
addClass ( Clazz $class ) : void
addClassConstant ( Phan\Language\Element\ClassConstant $class_constant ) : void
addFunction ( Func $function ) : void
addGlobalConstant ( Phan\Language\Element\GlobalConstant $global_constant ) : void
addMethod ( Method $method ) : void
addProperty ( Phan\Language\Element\Property $property ) : void
dependencyListForFile ( string $file_path ) : array
exportFunctionAndMethodSet ( ) : array
flushDependenciesForFile ( string $file_path ) : void;
getClassByFQSEN ( FullyQualifiedClassName $fqsen ) : Clazz
getClassConstantByFQSEN ( FullyQualifiedClassConstantName $fqsen ) : Phan\Language\Element\ClassConstant
getClassConstantMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
getClassMap ( ) : Phan\Library\Map
getClassMapMap ( ) : Phan\Library\Map
getFunctionAndMethodSet ( ) : Phan\Library\Set
getFunctionByFQSEN ( FullyQualifiedFunctionName $fqsen ) : Func
getFunctionMap ( ) : Phan\Library\Map
getGlobalConstantByFQSEN ( FullyQualifiedGlobalConstantName $fqsen ) : Phan\Language\Element\GlobalConstant
getGlobalConstantMap ( ) : Phan\Library\Map
getMethodByFQSEN ( FullyQualifiedMethodName $fqsen ) : Method
getMethodMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
getMethodSetByName ( string $name ) : Phan\Library\Set
getPropertyByFQSEN ( Phan\Language\FQSEN\FullyQualifiedPropertyName $fqsen ) : Phan\Language\Element\Property
getPropertyMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
hasClassConstantWithFQSEN ( FullyQualifiedClassConstantName $fqsen ) : boolean
hasClassWithFQSEN ( FullyQualifiedClassName $fqsen ) : boolean
hasFunctionWithFQSEN ( FullyQualifiedFunctionName $fqsen ) : boolean
hasGlobalConstantWithFQSEN ( FullyQualifiedGlobalConstantName $fqsen ) : boolean
hasMethodWithFQSEN ( FullyQualifiedMethodName $fqsen ) : boolean
hasPropertyWithFQSEN ( Phan\Language\FQSEN\FullyQualifiedPropertyName $fqsen ) : boolean
setShouldHydrateRequestedElements ( boolean $should_hydrate_requested_elements ) : void
store ( ) : void
totalElementCount ( ) : integer

Private Methods

Méthode Description
addClassesByNames ( array $class_name_list ) : null
addFunctionsByNames ( array $function_name_list )
getClassMapByFQSEN ( FullyQualifiedClassElement $fqsen ) : ClassMap
getClassMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : ClassMap
hasInternalFunctionWithFQSEN ( FullyQualifiedFunctionName $fqsen ) : boolean

Method Details

__clone() public méthode

Clone dependent objects when cloning this object
public __clone ( )

__construct() public méthode

Initialize a new CodeBase
public __construct ( array $internal_class_name_list, array $internal_interface_name_list, array $internal_trait_name_list, array $internal_function_name_list )
$internal_class_name_list array
$internal_interface_name_list array
$internal_trait_name_list array
$internal_function_name_list array

addClass() public méthode

public addClass ( Clazz $class ) : void
$class Phan\Language\Element\Clazz A class to add.
Résultat void

addClassConstant() public méthode

public addClassConstant ( Phan\Language\Element\ClassConstant $class_constant ) : void
$class_constant Phan\Language\Element\ClassConstant A class constant to add to the code base
Résultat void

addFunction() public méthode

public addFunction ( Func $function ) : void
$function Phan\Language\Element\Func A function to add to the code base
Résultat void

addGlobalConstant() public méthode

public addGlobalConstant ( Phan\Language\Element\GlobalConstant $global_constant ) : void
$global_constant Phan\Language\Element\GlobalConstant A global constant to add to the code base
Résultat void

addMethod() public méthode

public addMethod ( Method $method ) : void
$method Phan\Language\Element\Method A method to add to the code base
Résultat void

addProperty() public méthode

public addProperty ( Phan\Language\Element\Property $property ) : void
$property Phan\Language\Element\Property A property to add to the code base
Résultat void

dependencyListForFile() public méthode

public dependencyListForFile ( string $file_path ) : array
$file_path string
Résultat array The list of files that depend on the code in the given file path

exportFunctionAndMethodSet() public méthode

public exportFunctionAndMethodSet ( ) : array
Résultat array - A human readable encoding of $this->func_and_method_set [string $filename => [int|string $pos => string $spec]] Excludes internal functions and methods.

flushDependenciesForFile() public méthode

public flushDependenciesForFile ( string $file_path ) : void;
$file_path string
Résultat void;

getClassByFQSEN() public méthode

public getClassByFQSEN ( FullyQualifiedClassName $fqsen ) : Clazz
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName The FQSEN of a class to get
Résultat Phan\Language\Element\Clazz A class with the given FQSEN

getClassConstantByFQSEN() public méthode

public getClassConstantByFQSEN ( FullyQualifiedClassConstantName $fqsen ) : Phan\Language\Element\ClassConstant
$fqsen Phan\Language\FQSEN\FullyQualifiedClassConstantName The FQSEN of a class constant to get
Résultat Phan\Language\Element\ClassConstant A class constant with the given FQSEN

getClassConstantMapByFullyQualifiedClassName() public méthode

public getClassConstantMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName
Résultat array The set of class constants associated with the given class

getClassMap() public méthode

public getClassMap ( ) : Phan\Library\Map
Résultat Phan\Library\Map A list of all classes

getClassMapMap() public méthode

public getClassMapMap ( ) : Phan\Library\Map
Résultat Phan\Library\Map

getFunctionAndMethodSet() public méthode

public getFunctionAndMethodSet ( ) : Phan\Library\Set
Résultat Phan\Library\Set The set of all methods and functions

getFunctionByFQSEN() public méthode

public getFunctionByFQSEN ( FullyQualifiedFunctionName $fqsen ) : Func
$fqsen Phan\Language\FQSEN\FullyQualifiedFunctionName The FQSEN of a function to get
Résultat Phan\Language\Element\Func A function with the given FQSEN

getFunctionMap() public méthode

public getFunctionMap ( ) : Phan\Library\Map
Résultat Phan\Library\Map

getGlobalConstantByFQSEN() public méthode

public getGlobalConstantByFQSEN ( FullyQualifiedGlobalConstantName $fqsen ) : Phan\Language\Element\GlobalConstant
$fqsen Phan\Language\FQSEN\FullyQualifiedGlobalConstantName The FQSEN of a global constant to get
Résultat Phan\Language\Element\GlobalConstant A global constant with the given FQSEN

getGlobalConstantMap() public méthode

public getGlobalConstantMap ( ) : Phan\Library\Map
Résultat Phan\Library\Map

getMethodByFQSEN() public méthode

public getMethodByFQSEN ( FullyQualifiedMethodName $fqsen ) : Method
$fqsen Phan\Language\FQSEN\FullyQualifiedMethodName The FQSEN of a method to get
Résultat Phan\Language\Element\Method A method with the given FQSEN

getMethodMapByFullyQualifiedClassName() public méthode

public getMethodMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName
Résultat array The set of methods associated with the given class

getMethodSetByName() public méthode

public getMethodSetByName ( string $name ) : Phan\Library\Set
$name string
Résultat Phan\Library\Set A set of all known methods with the given name

getPropertyByFQSEN() public méthode

public getPropertyByFQSEN ( Phan\Language\FQSEN\FullyQualifiedPropertyName $fqsen ) : Phan\Language\Element\Property
$fqsen Phan\Language\FQSEN\FullyQualifiedPropertyName The FQSEN of a property to get
Résultat Phan\Language\Element\Property A property with the given FQSEN

getPropertyMapByFullyQualifiedClassName() public méthode

public getPropertyMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName
Résultat array The set of properties associated with the given class

hasClassConstantWithFQSEN() public méthode

public hasClassConstantWithFQSEN ( FullyQualifiedClassConstantName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedClassConstantName
Résultat boolean True if an element with the given FQSEN exists

hasClassWithFQSEN() public méthode

public hasClassWithFQSEN ( FullyQualifiedClassName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName
Résultat boolean True if an element with the given FQSEN exists

hasFunctionWithFQSEN() public méthode

public hasFunctionWithFQSEN ( FullyQualifiedFunctionName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedFunctionName
Résultat boolean True if an element with the given FQSEN exists

hasGlobalConstantWithFQSEN() public méthode

public hasGlobalConstantWithFQSEN ( FullyQualifiedGlobalConstantName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedGlobalConstantName
Résultat boolean True if an element with the given FQSEN exists

hasMethodWithFQSEN() public méthode

public hasMethodWithFQSEN ( FullyQualifiedMethodName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedMethodName
Résultat boolean True if an element with the given FQSEN exists

hasPropertyWithFQSEN() public méthode

public hasPropertyWithFQSEN ( Phan\Language\FQSEN\FullyQualifiedPropertyName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedPropertyName
Résultat boolean True if an element with the given FQSEN exists

setShouldHydrateRequestedElements() public méthode

public setShouldHydrateRequestedElements ( boolean $should_hydrate_requested_elements ) : void
$should_hydrate_requested_elements boolean
Résultat void

store() public méthode

public store ( ) : void
Résultat void

totalElementCount() public méthode

public totalElementCount ( ) : integer
Résultat integer The total number of elements of all types in the code base.