├── components ├── require.css ├── require.config.js └── typeaheadjs │ └── typeaheadjs-built.js ├── resources └── message.php ├── kubernetes ├── .htaccess ├── ingress.yaml ├── mongo.yaml ├── elasticsearch.yaml └── web.yaml ├── src ├── views │ ├── src │ │ └── less │ │ │ ├── view-home.less │ │ │ ├── view-result.less │ │ │ ├── global.less │ │ │ ├── variables.less │ │ │ └── style.less │ ├── css │ │ ├── images │ │ │ ├── logo.png │ │ │ ├── mouf.png │ │ │ ├── tcm.png │ │ │ ├── arrow.png │ │ │ ├── bg-head.jpg │ │ │ ├── bg-logo.png │ │ │ ├── favicon.ico │ │ │ ├── github.png │ │ │ ├── ico-dna.png │ │ │ ├── int_obj.png │ │ │ ├── twitter.png │ │ │ ├── class_obj.png │ │ │ ├── ico-code.png │ │ │ ├── ico-talk.png │ │ │ ├── ico-work.png │ │ │ ├── trait_obj.png │ │ │ ├── github-small.png │ │ │ ├── ico-search.png │ │ │ └── package_obj.png │ │ └── styles.css │ ├── classAnalyzer │ │ ├── 404.twig │ │ ├── classAnalyzer.js │ │ └── index.twig │ ├── packageAnalyzer │ │ ├── 404.twig │ │ └── index.twig │ ├── root │ │ ├── logo.twig │ │ ├── search.twig │ │ └── index.php │ ├── package.json │ └── Gruntfile.js ├── templates │ └── Mouf │ │ ├── Html │ │ └── Template │ │ │ ├── Menus │ │ │ ├── BootstrapMenu.twig │ │ │ └── BootstrapNavBar.twig │ │ │ └── BootstrapTemplate.twig │ │ └── Packanalyst │ │ └── Widgets │ │ ├── SearchBlock.twig │ │ ├── Node.twig │ │ └── Node__revert.twig └── Mouf │ └── Packanalyst │ ├── Widgets │ ├── SearchBlock.php │ ├── Graph.php │ └── Node.php │ ├── Command │ ├── GetPackagistScoresCommand.php │ ├── ReindexCommand.php │ ├── ForceRefreshCommand.php │ ├── ResetCommand.php │ └── RunCommand.php │ ├── Services │ ├── PackagistScoreService.php │ ├── ComposerSrcDirectoryFinder.php │ ├── StoreInDbNodeVisitor.php │ ├── ElasticSearchService.php │ └── FetchDataService.php │ ├── Controllers │ ├── PackageAnalyzerController.php │ ├── RootController.php │ └── ClassAnalyzerController.php │ ├── ClassesDetector.php │ └── Dao │ ├── PackageDao.php │ └── ItemDao.php ├── tests ├── bootstrap.php └── Packanalyst │ └── Services │ └── ElasticSearchServiceTest.php ├── vendor-bin └── phpstan │ └── composer.json ├── .gitignore ├── phpstan.neon ├── .dockerignore ├── mouf ├── Mouf.php ├── MoufUI.php └── installs_app.php ├── aenthill.json ├── phpunit.xml.dist ├── console.php ├── Dockerfile ├── test.php ├── .env ├── composer.json ├── docker-compose.yml ├── .htaccess ├── config.php ├── .travis.yml └── README.md /components/require.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /resources/message.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /kubernetes/.htaccess: -------------------------------------------------------------------------------- 1 | order deny,allow 2 | deny from all 3 | -------------------------------------------------------------------------------- /src/views/src/less/view-home.less: -------------------------------------------------------------------------------- 1 | .jumbotron { 2 | background: none; 3 | } -------------------------------------------------------------------------------- /tests/bootstrap.php: -------------------------------------------------------------------------------- 1 | Analyzing class {{ class }} 2 | 3 |
{{ class }}.{{ packageName }}{% if (packageVersion) %} ({{ packageVersion }}){% endif %}.7 | Downloads: {{ package.downloads }} 8 |
9 | {% endif %} 10 | 11 | {% if package.favers %} 12 |13 | Favorites: {{ package.favers }} 14 |
15 | {% endif %} 16 | 17 | 18 |22 | Other packages versions: 23 | {% for otherVersion in otherVersions %} 24 | {{ otherVersion }} 25 | {% endfor %} 26 |
27 | {% endif %} 28 | 29 | 30 | 31 || Class | 35 |Package | 36 |
|---|---|
| {{ item.name }} | 40 |
41 |
42 | {{ item.packageName }}
43 |
44 | {{ item.packageVersion }}
45 |
46 |
47 |
48 | |
49 |
| And many more.... | 54 |55 | |
41 | Packanalyst
42 | Explore PHP classes from Packagist
43 |
44 | 57 |
Packanalyst is a service that lets you browse in any PHP class / interface / trait 58 | defined in Packagist.
59 |
72 | Packanalyst can be useful for the average developer, but we believe it can be tremendously 77 | useful for any package developer. Indeed, using Packanalyst, you can find any package containing 78 | classes that implement/extend or simply use your classes/interfaces. 79 |
80 |Therefore, this is an absolutely unique tool to know who is using and implementing 81 | your interfaces / abstract classes / traits. For instance, have a look at all the classes 82 | that implement the PSR3 LoggerInterface.
83 |
92 | Packanalyst is a service in beta. Do not hesitate to send us feedback, or pull requests. 97 | Packanalyst is released in AGPL.
98 | 99 |
119 | Packanalyst regularly scans the Packagist repository for new or updated PHP packages. Each package is 124 | analyzed and all classes interfaces and traits are extracted and stored in our database for later search. 125 |
126 |
165 | In progress! A REST API will be released to query Packanalyst and integrate Packanalyst with third-party 170 | programs. Mouf will be the first framework to get a native integration with Packanalyst.
171 |
180 | Packanalyst is a service developed by David Négrier who happens to be the 185 | lead developer of the Mouf framework. 186 | Mouf is a PHP framework based on dependency injection. The core idea of Mouf is to help bind classes and components 187 | developed by many developers together. For this vision to come true, we need a set of core interfaces 188 | (this is the work of the PHP-FIG group), and a tool to find classes implementing those common interfaces 189 | (hence the development of Packanalyst). 190 |
191 |David is CTO of TheCodingMachine, a French 192 | IT company, who is kindly sponsoring Packanalyst's development and hosting.
193 |The design and front-end part has been developed by Hugo Averty, project manager for TheCodingMachine.
194 | 198 |