Data

PHPMouse extracts and presents detailed data about every part of your PHP project. Detailed information about files, namespaces, constants, enums, functions, classes, interfaces, traits, properties, methods, variables, arguments, strings, object create statements, comments, doccomment params, if conditions, loop conditions, function calls, method calls, return statements and error handling.

You can filter, sort and export this data to CSV for further analysis. This gives you insight into the size, complexity and composition of the codebase.

Code Analysis

Often an assessment of an application can be made by reviewing the properties per item. Is the naming of the parts consistent? Are there poorly readable loop and if conditions? Are there overloaded classes? Are there methods with a large number of arguments? Which classes have the most properties? Or methods? Which classes took the parser the longest? Which methods have the greatest nesting depth? Are the displayed code snippets readable? How consistent is the error handling? Which constants are defined? Etc.

Overview with details
Overview with details on the right
Overview with filters
Overview with filter options on the right

Detail screen

Code
Code
Type dependencies
Type dependencies
Where used
Where used
Code with tokens on the left – selectable in both directions
Code with tokens on the left – selectable in both directions

Data fields

Name Type Values
A Backed enum has a value (int,string) for the enum constants boolean
Access list Private, Protected, Public
Are parentheses used instantiating a new class string
Argument count in @type integer
Array dimension integer
Bracket block count integer
Class count in @type integer
Class ID string
Class name string
Close tag char nr string
Close tag line nr string
Code string
Code string
Code type string
Complexity string
Count string
Create object class name string
Create object namespace string
Default type namespace string
Default value string
Dependency type string
Direct dependency count integer
Doc comment description of @type string
Doc comment params integer
Doc comment result type string
Doc comment result type is scalar boolean
Doc comment result type namespace string
Doc comment type is scalar boolean
Doc comment type namespace string
Dpc object name string
Dpc object namespace string
Dpc object type string
Duration in ms of code parsing string
Enum count in @type string
Enum ID string
Enum type defines the scalar type of the constant values string
Error handling keyword list try, catch, throw, trigger_error
Extends string
Extends class name string
Extends interface count string
Extends namespace string
File count integer
File def ID integer
Filename string
For count in @type integer
Foreach count in @type integer
Function count in @type integer
Function name string
Has access modifier boolean
Has access modyfier boolean
Has anonymous function boolean
Has anonymous return type boolean
Has anonymous type argument boolean
Has assign boolean
Has brackets boolean
Has close tag string
Has declare strict types boolean
Has doc comment description boolean
Has function call boolean
Has import error boolean
Has method call boolean
Has null save operator string
Has numerical expression boolean
Has object create boolean
Has short open tag string
Has string expression boolean
If condition count in @type integer
Import error message string
Interface count in @type integer
Interface ID string
Interface name string
Is @type from vendor code? boolean
Is @type readonly boolean
Is @type static boolean
Is abstract boolean
Is anonymous boolean
Is anonymous result type boolean
Is anonymous type boolean
Is chained boolean
Is debug statement string
Is final boolean
Is global boolean
Is intern call boolean
Is internal boolean
Is magic boolean
Is method boolean
Is multi line boolean
Is promoted boolean
Is promoted property boolean
Is readonly property boolean
Is reg exp boolean
Is scalar boolean
Is Valid boolean
Is var boolean
Length of @type string
Level integer
Lines string
Logic token count / Token count string
Logic token count integer
Loop type list for, foreach, while, do while
Max block bracket token count string
Max nesting depth integer
Max nesting depth integer
Method count integer
Name of @type string
Namespace string
Namespace count integer
Namespace nr integer
Node type string
Object create count integer
Open bracket count integer
Owner string
Owner namespace string
Owner type list Class, Global, Enum, Interface, Trait
Parent count integer
Parent ID integer
Private method count integer
Private property count of @type integer
Property count integer
Protected method count integer
Protected property count of @type integer
Public method count integer
Public property count of @type integer
Result type string
Result type is scalar boolean
Result type namespace string
Return type string
Segment count integer
Size of @type string
Static method count integer
Static property count string
Sum of all statement conditions string
Switch count in @type integer
The sum of the dependy count of the dependencies integer
Token count integer
Tokens string
Trait count in @type integer
Trait ID string
Trait name string
Type count integer
Type defined in doc comment param string
Type is scalar boolean
Type namespace string
Type of @type default value string
Type: class, enum, interface or trait string
Use trait name string
Use trait namespace string
Value string
Values string
Var count in @type integer
Var name string
While condition in @type integer