Download
We distribute a PHP Archive (PHAR) that contains all required dependencies of PHP Reflect bundled in a single file.
Make it executable, and put it into your $PATH
.
$ chmod +x phpreflect-3.1.2.phar
$ mv phpreflect-3.1.2.phar /usr/local/bin/phpreflect
$ phpreflect --version
You can also immediately use the PHAR after you have downloaded it.
$ wget http://bartlett.laurent-laville.org/get/phpreflect-3.1.2.phar
$ php phpreflect-3.1.2.phar --version
With both methods then you have this output :
phpReflect version 3.1.2
Other alternative installations are possible. Please refer to the documentation for details on how to do this.
Configuration
phpreflect.json
{
"source-providers": [
{
"in": ". as current",
"name": "/\\.(php|inc|phtml)$/"
}
],
"plugins": [
],
"analysers": [
],
"services": [
]
}
Put it in your project’s folder. Alternative locations are possible. Please refer to the documentation for details on how to do this.
Structure
- source-providers
- this entry provide list of your data sources to parse.
- plugins
- this entry list all plugins added to the core base code of PHP Reflect.
- analysers
-
this entry list all analysers that may be used with the
analyser:run
command. - services
- this entry list all services that may be used with this application.
Execution
With the Reflect source code, invoke the following command :
$ phpreflect analyser:run .
and you should obtain something like this :
Data Source Analysed Directories 20 Files 72 Structure Namespaces 20 Interfaces 8 Traits 0 Classes 64 Abstract Classes 6 (9.38%) Concrete Classes 58 (90.62%) Methods 293 Scope Non-Static Methods 280 (95.56%) Static Methods 13 (4.44%) Visibility Public Method 250 (85.32%) Protected Method 34 (11.60%) Private Method 9 (3.07%) Functions 13 Named Functions 0 (0.00%) Anonymous Functions 13 (100.00%) Constants 22 Global Constants 0 (0.00%) Magic Constants 3 (13.64%) Class Constants 19 (86.36%) Tests Classes 0 Methods 0
Another analyser (loc
) is also available, and can be combined or not with structure
the default analyser.
With the Reflect source code, invoke the following command :
$ phpreflect analyser:run . loc
and you should obtain something like this :
Data Source Analysed Directories 20 Files 72 Size Lines of Code (LOC) 3721 Comment Lines of Code (CLOC) 136 (3.65%) Non-Comment Lines of Code (NCLOC) 3585 (96.35%) Logical Lines of Code (LLOC) 1196 (32.14%) Classes 1116 (93.31%) Average Class Length 17 Average Method Length 3 Functions 80 (6.69%) Average Function Length 6 Not in classes or functions 0 (0.00%) Complexity Cyclomatic Complexity / LLOC 0.55 Cyclomatic Complexity / Number of Methods 2.88
Summary
Let’s review what we’ve done :
-
downloaded the latest stable PHAR version.
-
prepared a minimalist JSON configuration file that is OPTIONAL to run Reflect commands.
-
executed your first parse on the Reflect data source.
Next
Choose your way depending of your skill level.