Reflect 3.0.0-alpha-1 has just been released.
3.0.0-alpha1 is only available in PHAR version. Source code will be published on github project repository with alpha 2 in the beginning of year 2015.
Plugin System is ready, but all plugins developped (Profiler, Log, Cache) were removed. Reason is that there are not yet customizable by an external config file.There is an issue with Symfony
ProgressBar. I’ve opened a report, so don’t assume it comes from Reflect.
Ability to provide a file or a directory in command line, without to specify it in
Ability to write CLI result to file or URL (E.g: FTP) with the
--outputoption. Don’t forget the
locanalyser to provide like actual
structureanalyser reporting such as Sebastian Bergmann PHPLoc.
Current code won a gain performance in both side (analysis speed and memory consumption).
--verboseoption is now really used with its different levels. Try
-vvvto get raw response of each command (easy debugging).
Replaces Symfony Console
Tablehelper (Ready for Symfony 3).
Replaces Symfony Console
ProgressBarhelper (Ready for Symfony 3)
Uses Symfony Component 2.5 or better.
If you want to contribute to improve the next major version 3.0, have a look on roadmap.
Reflect 3.0.0 roadmap.
Published by Laurent Laville on 2014-12-17
If you want to contribute to improve the next major version 3.0, have a look on roadmap, I’ve opened today on github project page, and feel free post your comments.
Reflect 3.0.0 enhanced the cache system.
Yesterday, I’ve introduced that development of new major version 3.0 of Reflect has started.
Perhaps you should asked how did I’ve improved analysis speed ?
Reflect v2 suffered that the cache plugin only wrote AST (Abstract Syntax Tree) results (from PHP-Parser).
Building nodes is not the bottleneck of Reflect. Translate each AST node to a corresponding Model, in one of the major part of memory consumption.
Reflect v3 analysers will get their informations directly from the AST nodes. Models are kept only for a compatibility with PHP Reflection (that is part of another subject).
If analysers need to store persistent data, they will do in each contextual AST nodes.
Remember AST in wrote in cache if the plugin is activated.Published by Laurent Laville on 2014-12-16
Actually only PHP-CompatInfo and its
compatibilityanalyser will used this feature (store persistent data). See also post http://php5.laurent-laville.org/compatinfo/blog/201412-CompatInfo-4.0-preview-1.html
Reflect 3.0.0 is currently under development.
Today, I would like to share with all users of Reflect, that follows development of the project, a big new !
Reflect 3.0.0 should be ready in the second part of January 2015.
This new major version has, at least, two main goals :
improve analysis speed
reduce consumption of memory
The current dev version (not yet published on my github account) won around 50% of performance (in time and memory usage).
The first alpha release (phar only) should be available next week, just before Christmas :)Published by Laurent Laville on 2014-12-15
Stay tuned, more news about v3 will come tomorrow and next days
Reflect 2.6.1 has just been released.
Replace old hard coded event names by constants; See
Avoid to collect more than once the same Model. Reduce memory consumption.