Skip to content

Commit

Permalink
docs: Update README to explain how to use the new commands
Browse files Browse the repository at this point in the history
  • Loading branch information
MontealegreLuis committed Jan 10, 2018
1 parent d46166e commit 7971422
Showing 1 changed file with 16 additions and 22 deletions.
38 changes: 16 additions & 22 deletions README.md
@@ -1,5 +1,5 @@
> **WARNING**: This is a fork of [jakobwesthoff/phuml][1] which isn't actively maintained anymore.
I've volunteered to [to become the new maintainer][2].
I've volunteered [to become the new maintainer][2].
My plan is to publish this library in Packagist and add support for PHP 7.

[![Build Status][3]][4]
Expand All @@ -13,46 +13,40 @@ My plan is to publish this library in Packagist and add support for PHP 7.
phUML is fully automatic [UML][7] class diagram generator written [PHP][8].
It creates an image representation of the OO structure based on the UML specification.


## How does it look like?

[![UML Diagram][9]][10]

The image shown here is the class diagram generated by phUML when run on its own codebase.
The image shown here is the class diagram generated by phUML when run on its previous codebase.
This image is hardly readable, because it has been resized to fit in the layout of this page.
You can take a look at the complete image by clicking [here][10].

## Can I use this for my own projects?

phUML should be compatible with any object oriented code written in PHP 5.

phUML has an informative help interface, which can be called with the `-h` option.
The console application works with so called processors.
Processors may be used to create different output formats.
There's currently 3 types of processors:

```
$ phuml -h
```
* Processors to produce a digraph using dot language
* Processors to produce `png` class diagrams
* Processors to produce statistics

The phUML generator works with so called processors.
Processors may be used to create a lot of different output formats.
Every available processor can be listed by calling phUML with the `-l` option.
To successfully create UML diagrams you will need the [graphviz][11] toolkit installed on your system.
You may then call the `neato` or `dot` executables, which are part of graphviz, to process the created file
manually or you may have `phUML` do this for you by using the dot or neato processor.

This is the command used to generate the example you can see above.

```
$ phuml -l
$ vendor/bin/phuml phuml:diagram -r -a -p dot tests/.code example.png
```

The most important processor used to create images of any kind is the graphviz processor.
It outputs information in the so called dot language used by [graphviz][11].
To successfully create UML diagrams you will need the graphviz toolkit installed on your system.
You may then call the neato or dot executables, which are part of graphviz, to process the created file
manually or you may phUML do this for you by using the dot or neato processor.

You should just play around with the phUML commandline tool to get a better
understanding of what the processors do and how they work.
To give you a short example of how a complete phUML call could look like, this is the one used
generate the example you can see above.
This is the command used to generate the statistics of a codebase.

```
$ phuml -r ./ -dot -createAssociations false -neato example.png
$ vendor/bin/phuml phuml:statistics -r tests/.code stats.txt
```

[1]: https://github.com/jakobwesthoff/phuml
Expand Down

0 comments on commit 7971422

Please sign in to comment.