We check the code just like you would do by reading it. Except, we’re using the unlimited memory of the computer to keep all in mind.
The automated analyzer focuses on everything that is simple but boring to do, so you don’t have to do it. Just zero on the code smell to remove it.
The analyzer collect experience from dozens of applications : it is actually growing it know-how with every run. Every time it find a better way or a new edge case, it prepares it for the next run. So next time, you’ll know about it before it actually happens.
Over 320 documented analyzers
Exakat has collected the most extensive list of analysis for PHP : spot pitfalls, logic fallacies, architecture rules, unused resources, code modernisation and more. They are inspired by everyday coding error and theoretical considerations. Each of them are carefully documented, with examples and alternatives.
Compare your code to the crowd
Every analysis has a popularity feature that show your code is ranking compared to others. Certainly, that @ is not important, but since 53% are using it, will you reevaluate how important it is ? Check our PHP Quality Index
No up-front configuration
mkdir exakat cd exakat wget -O exakat.phar http://dist.exakat.io/index.php?file=latest wget -O apache-tinkerpop-gremlin-server-3.2.6-bin.zip http://ftp.tudelft.nl/apache/tinkerpop/3.2.6/apache-tinkerpop-gremlin-server-3.2.6-bin.zip unzip apache-tinkerpop-gremlin-server-3.2.6-bin.zip mv apache-tinkerpop-gremlin-server-3.2.6 tinkergraph rm -rf apache-tinkerpop-gremlin-server-3.2.6-bin.zip php exakat.phar doctor #enjoy Exakat !
Exakat comes ready to work on your code, without pre-configuration. Download exakat.phar, install the database, and audit your code. Once your start using it, you’ll follow the important results, and the one that you can ignore. Refine configuration, and keep improving.
Auto-document your code
It is also hard to keep track with evolutions of code in the documentation. Exakat can keep track for you of list of PHP directives, the extensions and the best PHP binary for your code.
Turn your code into data analytics
Exakat produces reports in HTML for human consumption, and may also produce CSV for spreadsheet manipulations or JSON for integration into Continuous integration. Apply machine learning or follow your progression by keeping track of all values.
Handle PHP 5.3 to PHP-src
Exakat is able to review code with different versions of PHP, ranging from PHP 5.x to PHP 7.x. Actually, analysis for migration to the upcoming PHP version are incorporated as they are published, and help prepare code for the future. And anytime a new version of PHP is produced, you may learn about the impact on your code.
- PHP 7.3 (5 analyzers)Active
- PHP 7.2 (16 analyzers)Active
- PHP 7.1 (21 analyzers)RELEASED
- PHP 7.0 (36 analyzers)RELEASED
- PHP 5.6 (40 analyzers)RELEASED
- PHP 5.5 (51 analyzers)PAUSED
- PHP 5.4 (58 analyzers)PAUSED
- PHP 5.3 (62 analyzers)PAUSED
Works with frameworks
- Zend Framework (137 analyzers)90%
- Slim (25 analyzers)75%
- CakePHP (17 analyzers)70%
- Wordpress (13 analyzers)65%
Exakat works also with frameworks : analysis are tailored specifically for them, and others rules may be turned off. Exakat works together with Zend Framework, CakePHP, Slim and WordPress.
Know your best side
PHP offers two or more alternatives for a feature : print/echo, die/exit, trigger/throw, etc. The choice of one of them, or even absence of rule for those features is a reflection of your code’s personality. Exakat list of them : turn it into a coding standard, or just learn more about programming habits in your code.
PHP App Inventories
Inventories collect names that were assigned in the code, and allow for out-of-context review. Do you have a list of all the globals ? The incoming variables ? The available exceptions ? Name your object, and make a review of all that are used : are they used frequently or in obscure fashion ? Spot spelling mistakes easily.