Find any class implementing your interface
Packanalyst can be useful for the average developer, but we believe it can be tremendously useful for any package developer. Indeed, using Packanalyst, you can find any package containing classes that implement/extend or simply use your classes/interfaces.
Therefore, this is an absolutely unique tool to know who is using and implementing your interfaces / abstract classes / traits. For instance, have a look at all the classes that implement the PSR3 LoggerInterface.
How does it work?
Packanalyst regularly scans the Packagist repository for new or updated PHP packages. Each package is analyzed and all classes interfaces and traits are extracted and stored in our database for later search.
- Do I need to do something special to register my package on Packanalyst?
- No, you just need to register your package on Packagist and it will automatically be scanned by Packanalyst.
- How long does it take for my package to be scanned?
- Depending on the number of packages changed, it can take anything between an hour and a few days for your package to be analyzed after you register it or you make changes to it.
- What versions of my package are scanned and stored?
- For performance reason, Packanalyst does not scan all versions of your package. It will scan the master branch of your project and all latest tagged major versions.
- What are those stars displayed next to some classes or interfaces?
- In order to highlight the main classes used, we put in place a simple rating system.
The goal is simply to highlight the classes that are most used. The rating system does not
reflect the quality of the class, it simply reflects its usage. It is based on the number
of downloads on Packagist:
- No stars: <100 downloads
- : Between 100 and 1000 downloads
- : Between 1000 and 10000 downloads
- : Between 10000 and 100000 downloads
- : Between 100000 and 1000000 downloads
- : > 1000000 downloads
In progress! A REST API will be released to query Packanalyst and integrate Packanalyst with third-party programs. Mouf will be the first framework to get a native integration with Packanalyst.
Who is behind Packanalyst?
Packanalyst is a service developed by David Négrier who happens to be the lead developer of the Mouf framework. Mouf is a PHP framework based on dependency injection. The core idea of Mouf is to help bind classes and components developed by many developers together. For this vision to come true, we need a set of core interfaces (this is the work of the PHP-FIG group), and a tool to find classes implementing those common interfaces (hence the development of Packanalyst).
David is CTO of TheCodingMachine, a French IT company, who is kindly sponsoring Packanalyst's development and hosting.