Download the PHP package iaroslav-khmel/project-map without Composer
On this page you can find all versions of the php package iaroslav-khmel/project-map. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download iaroslav-khmel/project-map
More information about iaroslav-khmel/project-map
Files in iaroslav-khmel/project-map
Package project-map
Short Description PHP project structure mapper for Laravel, Symfony and generic PHP projects.
License MIT
Informations about the package project-map
Project Map
iaroslav-khmel/project-map is a Composer package and CLI tool that statically scans PHP projects and builds a first technical map: classes, methods, method calls, framework routes and models.
It is framework-agnostic by default and includes static MVP adapters for Laravel and Symfony. It never scans vendor/ and does not execute the analysed application in generic mode.
Requirements
- PHP
^8.2|^8.3|^8.4 - Composer
Local Development Via Path Repository
In the project where you want to test the package, add a path repository:
Install it:
Run the scanner:
CLI
Options:
--pathproject path, defaults to current directory--outputoutput directory, defaults to.project-map--formatcomma-separated formats:json,dot,svg,html,mmd--frameworkone ofauto,laravel,symfony,generic--graphone ofclasses,routes,models,all--max-depthmaximum method call depth from route entrypoints--include-testsinclude test files in the graph, defaults tofalse--excludecomma-separated directories to skip;vendoris always excluded
Output
The JSON graph payload is written to:
The DOT graph is written to:
If Graphviz dot is available, the SVG graph is written to:
The HTML report embeds the SVG graph as the main project map and is written to:
Mermaid remains available as an optional extra format: .project-map/project-map.mmd.
Current MVP
Generic PHP scanning includes namespaces, class-like declarations, inheritance, interfaces, traits, method signatures, visibility, parameters, return types, method calls, static calls and object creation. Dynamic calls that cannot be resolved are stored as unknown_call warnings.
Laravel support includes recursive AST parsing of routes/, route includes, route groups with prefix/middleware/name/controller context, Route::get/post/put/patch/delete/options/any/match/resource/apiResource, Eloquent models, table names, fillable/guarded/casts/hidden/appends, relations and best-effort migration fields.
Symfony support includes attribute routes and Doctrine entity attributes. YAML route parsing is reported as an MVP warning instead of failing.
Development
All versions of project-map with dependencies
symfony/console Version ^6.4|^7.0|^8.0
nikic/php-parser Version ^5.0