This is a repository for the PDFF files.
There is some early results here, more will come as time permits.
The PDFF folder contains 3 sub-folders :
- ext : PHP extensions, extracted from pecl and the standard distribution, compiled on Debian.
- frameworks : PHP packages, when available as a single repository. For example, concrete5, or slim PHP.
- packagist : some PHP packages, listed from packagist.org, with the same naming scheme. Not all, because there are too many.
Only major and middle versions are provided currently. So, vcs/cakephp/4.3.0.pdff represents the last availble 4.3.* version.
All files are in compact JSON notation.
The PDFF file has the following structure :
- Root
- versions (or star
*
)- namespaces, including global root \
constants
- constant name
name
value
phpdoc
expression
: is the value a PHP expression (true) or a literal (false)
- constant name
functions
- function name
name
returntype
: "one" for a single return type, including the absence of type; "or" for union type and "and" for intersectional types.returntypehints
: array for fully qualified names of types- parameters
name
rank
: startign a index 0variadic
reference
default
hasDefault
: boolean, meaning that this parameter has a default value or not.expression
: is the default value a PHP expression (true) or a literal (false)typehinttype
: "one" for a single return type, including the absence of type; "or" for union type and "and" for intersectional types.- typehints : an array
typehint
: the typehint's fully qualified name, or one of the PHP native types (string, never, callable...)
attributes
: array of stringsphpdoc
: array of strings
totalParameters
: count of all parameters (int)optionalParameters
: count of optional parameters (int)variadic
: is it a variadic function, which means one of the parameter is variadicattributes
attribute
: attribute's expression
phpdoc
: array fo phpdoc strings
- function name
classes
- constants
- constant name
name
value
phpdoc
final
visibility
: one among 'private', 'public', 'protected', 'none'expression
: is the value a PHP expression (true) or a literal (false)attributes
+attribute
: attribute's expressionphpdoc
: array fo phpdoc strings
- methods
name
returntype
: "one" for a single return type, including the absence of type; "or" for union type and "and" for intersectional types.returntypehints
: array for fully qualified names of types- parameters
name
rank
: startign a index 0visibility
: one among 'private', 'public', 'protected', 'none'variadic
static
reference
default
hasDefault
: boolean, meaning that this parameter has a default value or not.expression
: is the default value a PHP expression (true) or a literal (false)returntype
: "one" for a single return type, including the absence of type; "or" for union type and "and" for intersectional types.- returntypehints : an array
typehint
: the typehint's fully qualified name, or one of the PHP native types (string, never, callable...)
attributes
: array of stringsphpdoc
: array of stringstotalParameters
: count of all parameters (int)optionalParameters
: count of optional parameters (int)variadic
: is it a variadic function, which means one of the parameter is variadicattributes
attribute
: attribute's expression
phpdoc
: array fo phpdoc strings
- properties
name
var
: using the var keyword or notstatic
hasDefault
init
expression
visibility
typehinttype
attributes
attribute
: attribute's expression
phpdoc
: array fo phpdoc strings
- constant name
- constants
traits
: array of traits- methods
name
returntype
: "one" for a single return type, including the absence of type; "or" for union type and "and" for intersectional types.returntypehints
: array for fully qualified names of types- parameters
name
rank
: startign a index 0visibility
: one among 'private', 'public', 'protected', 'none'variadic
static
reference
default
hasDefault
: boolean, meaning that this parameter has a default value or not.expression
: is the default value a PHP expression (true) or a literal (false)returntype
: "one" for a single return type, including the absence of type; "or" for union type and "and" for intersectional types.- returntypehints : an array
typehint
: the typehint's fully qualified name, or one of the PHP native types (string, never, callable...)
attributes
: array of stringsphpdoc
: array of stringstotalParameters
: count of all parameters (int)optionalParameters
: count of optional parameters (int)variadic
: is it a variadic function, which means one of the parameter is variadicattributes
attribute
: attribute's expression
phpdoc
: array fo phpdoc string- properties
name
var
: using the var keyword or notstatic
hasDefault
init
expression
visibility
typehinttype
attributes
attribute
: attribute's expression
phpdoc
: array fo phpdoc strings
- methods
interfaces
: array of interfaces- constants
- constant name
name
value
phpdoc
final
visibility
: one among 'private', 'public', 'protected', 'none'expression
: is the value a PHP expression (true) or a literal (false)attributes
+attribute
: attribute's expressionphpdoc
: array fo phpdoc strings
- methods
name
returntype
: "one" for a single return type, including the absence of type; "or" for union type and "and" for intersectional types.returntypehints
: array for fully qualified names of types- parameters
name
rank
: startign a index 0visibility
: one among 'private', 'public', 'protected', 'none'variadic
static
reference
default
hasDefault
: boolean, meaning that this parameter has a default value or not.expression
: is the default value a PHP expression (true) or a literal (false)returntype
: "one" for a single return type, including the absence of type; "or" for union type and "and" for intersectional types.- returntypehints : an array
+
typehint
: the typehint's fully qualified name, or one of the PHP native types (string, never, callable...) attributes
: array of stringsphpdoc
: array of strings
totalParameters
: count of all parameters (int)optionalParameters
: count of optional parameters (int)variadic
: is it a variadic function, which means one of the parameter is variadicattributes
attribute
: attribute's expression
phpdoc
: array fo phpdoc strings
- constant name
- constants
enums
: array of enums + constants + methods
- namespaces, including global root \
- versions (or star
- PDFF do not support conditional structures. In other words, it is not possible to have two definitions for the same FQN.
- PDFF do not support dynamic configurations, such as class_alias()