PHP Класс 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 ...
Показать файл Открыть проект Примеры использования класса

Открытые методы

Метод Описание
__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

Приватные методы

Метод Описание
addClassesByNames ( array $class_name_list ) : null
addFunctionsByNames ( array $function_name_list )
getClassMapByFQSEN ( FullyQualifiedClassElement $fqsen ) : ClassMap
getClassMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : ClassMap
hasInternalFunctionWithFQSEN ( FullyQualifiedFunctionName $fqsen ) : boolean

Описание методов

__clone() публичный Метод

Clone dependent objects when cloning this object
public __clone ( )

__construct() публичный Метод

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 addClass ( Clazz $class ) : void
$class Phan\Language\Element\Clazz A class to add.
Результат void

addClassConstant() публичный Метод

public addClassConstant ( Phan\Language\Element\ClassConstant $class_constant ) : void
$class_constant Phan\Language\Element\ClassConstant A class constant to add to the code base
Результат void

addFunction() публичный Метод

public addFunction ( Func $function ) : void
$function Phan\Language\Element\Func A function to add to the code base
Результат void

addGlobalConstant() публичный Метод

public addGlobalConstant ( Phan\Language\Element\GlobalConstant $global_constant ) : void
$global_constant Phan\Language\Element\GlobalConstant A global constant to add to the code base
Результат void

addMethod() публичный Метод

public addMethod ( Method $method ) : void
$method Phan\Language\Element\Method A method to add to the code base
Результат void

addProperty() публичный Метод

public addProperty ( Phan\Language\Element\Property $property ) : void
$property Phan\Language\Element\Property A property to add to the code base
Результат void

dependencyListForFile() публичный Метод

public dependencyListForFile ( string $file_path ) : array
$file_path string
Результат array The list of files that depend on the code in the given file path

exportFunctionAndMethodSet() публичный Метод

public exportFunctionAndMethodSet ( ) : array
Результат 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 flushDependenciesForFile ( string $file_path ) : void;
$file_path string
Результат void;

getClassByFQSEN() публичный Метод

public getClassByFQSEN ( FullyQualifiedClassName $fqsen ) : Clazz
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName The FQSEN of a class to get
Результат Phan\Language\Element\Clazz A class with the given FQSEN

getClassConstantByFQSEN() публичный Метод

public getClassConstantByFQSEN ( FullyQualifiedClassConstantName $fqsen ) : Phan\Language\Element\ClassConstant
$fqsen Phan\Language\FQSEN\FullyQualifiedClassConstantName The FQSEN of a class constant to get
Результат Phan\Language\Element\ClassConstant A class constant with the given FQSEN

getClassConstantMapByFullyQualifiedClassName() публичный Метод

public getClassConstantMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName
Результат array The set of class constants associated with the given class

getClassMap() публичный Метод

public getClassMap ( ) : Phan\Library\Map
Результат Phan\Library\Map A list of all classes

getClassMapMap() публичный Метод

public getClassMapMap ( ) : Phan\Library\Map
Результат Phan\Library\Map

getFunctionAndMethodSet() публичный Метод

public getFunctionAndMethodSet ( ) : Phan\Library\Set
Результат Phan\Library\Set The set of all methods and functions

getFunctionByFQSEN() публичный Метод

public getFunctionByFQSEN ( FullyQualifiedFunctionName $fqsen ) : Func
$fqsen Phan\Language\FQSEN\FullyQualifiedFunctionName The FQSEN of a function to get
Результат Phan\Language\Element\Func A function with the given FQSEN

getFunctionMap() публичный Метод

public getFunctionMap ( ) : Phan\Library\Map
Результат Phan\Library\Map

getGlobalConstantByFQSEN() публичный Метод

public getGlobalConstantByFQSEN ( FullyQualifiedGlobalConstantName $fqsen ) : Phan\Language\Element\GlobalConstant
$fqsen Phan\Language\FQSEN\FullyQualifiedGlobalConstantName The FQSEN of a global constant to get
Результат Phan\Language\Element\GlobalConstant A global constant with the given FQSEN

getGlobalConstantMap() публичный Метод

public getGlobalConstantMap ( ) : Phan\Library\Map
Результат Phan\Library\Map

getMethodByFQSEN() публичный Метод

public getMethodByFQSEN ( FullyQualifiedMethodName $fqsen ) : Method
$fqsen Phan\Language\FQSEN\FullyQualifiedMethodName The FQSEN of a method to get
Результат Phan\Language\Element\Method A method with the given FQSEN

getMethodMapByFullyQualifiedClassName() публичный Метод

public getMethodMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName
Результат array The set of methods associated with the given class

getMethodSetByName() публичный Метод

public getMethodSetByName ( string $name ) : Phan\Library\Set
$name string
Результат Phan\Library\Set A set of all known methods with the given name

getPropertyByFQSEN() публичный Метод

public getPropertyByFQSEN ( Phan\Language\FQSEN\FullyQualifiedPropertyName $fqsen ) : Phan\Language\Element\Property
$fqsen Phan\Language\FQSEN\FullyQualifiedPropertyName The FQSEN of a property to get
Результат Phan\Language\Element\Property A property with the given FQSEN

getPropertyMapByFullyQualifiedClassName() публичный Метод

public getPropertyMapByFullyQualifiedClassName ( FullyQualifiedClassName $fqsen ) : array
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName
Результат array The set of properties associated with the given class

hasClassConstantWithFQSEN() публичный Метод

public hasClassConstantWithFQSEN ( FullyQualifiedClassConstantName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedClassConstantName
Результат boolean True if an element with the given FQSEN exists

hasClassWithFQSEN() публичный Метод

public hasClassWithFQSEN ( FullyQualifiedClassName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedClassName
Результат boolean True if an element with the given FQSEN exists

hasFunctionWithFQSEN() публичный Метод

public hasFunctionWithFQSEN ( FullyQualifiedFunctionName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedFunctionName
Результат boolean True if an element with the given FQSEN exists

hasGlobalConstantWithFQSEN() публичный Метод

public hasGlobalConstantWithFQSEN ( FullyQualifiedGlobalConstantName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedGlobalConstantName
Результат boolean True if an element with the given FQSEN exists

hasMethodWithFQSEN() публичный Метод

public hasMethodWithFQSEN ( FullyQualifiedMethodName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedMethodName
Результат boolean True if an element with the given FQSEN exists

hasPropertyWithFQSEN() публичный Метод

public hasPropertyWithFQSEN ( Phan\Language\FQSEN\FullyQualifiedPropertyName $fqsen ) : boolean
$fqsen Phan\Language\FQSEN\FullyQualifiedPropertyName
Результат boolean True if an element with the given FQSEN exists

setShouldHydrateRequestedElements() публичный Метод

public setShouldHydrateRequestedElements ( boolean $should_hydrate_requested_elements ) : void
$should_hydrate_requested_elements boolean
Результат void

store() публичный Метод

public store ( ) : void
Результат void

totalElementCount() публичный Метод

public totalElementCount ( ) : integer
Результат integer The total number of elements of all types in the code base.