This package generates uml from php code. PlantUML is required to see the diagram, you can either install the plugin in your code editor or use a online tool visualize it.
You can install the package via composer:
composer require wongdoody/php-uml-crafter
You can publish the config file with:
php artisan vendor:publish --tag=php-uml-crafter-config
This is the content of the published config file for Laravel projects:
return [
'excludeFiles' => [
],
'excludeDirectories' => [
'bootstrap',
'config',
'database/migrations',
'database',
'lang',
'node_modules',
'public',
'resources',
'routes',
'storage',
'tests',
'vendor',
],
];
Scan classes command
php artisan uml-crafter:scan
Generate a PlantUML file command
php artisan uml-crafter:generate
It is also possible to pass the following options in the command:
--project-path
: Path to the root directory of your PHP framework project as string.
--exclude-directories
: Directories to exclude from the scanning process, if any in comma separated list.
--exclude-files
: Files to exclude from the scanning process, if any comma separated list.
--save-path
: Path to save the generated UML diagrams as string.
--include-traits
: --include-traits=true scan traits and interfaces
For other PHP frameworks, you can still utilize the UML Crafter package to scan classes and generate UML diagrams. Below is a generic command that can be adjusted to fit the structure and requirements of different frameworks:
Scan classes
uml-crafter:generate --project-path=your_project_directory --exclude-directories=directories_to_exclude --exclude-files=files_to_exclude --save-path=path_to_save_scanned_data --include-traits=true
Replace the placeholders (your_project_directory, directory_to_exclude, file_to_exclude, path_to_save_diagrams) with appropriate values according to your PHP framework's directory structure and preferences.
--project-path
: Path to the root directory of your PHP framework project as string.
--exclude-directories
: Directories to exclude from the scanning process, if any comma separated list.
--exclude-files
: Files to exclude from the scanning process, if any comma separated list.
--save-path
: Path to save the generated UML diagrams as string.
Make sure to adjust the command parameters to match your specific PHP framework's structure and requirements.
For the uml-crafter:generate command there is also an option to change style to light mode (as default is dark mode set). Add flag below to the command:
--light-mode
: Change style to light mode
Example: php artisan uml-crafter:generate --light-mode=true
GNU GENERAL PUBLIC LICENSE (GPL-3).