• This repository has been archived on 28/May/2021
  • Stars
    star
    177
  • Rank 214,678 (Top 5 %)
  • Language
    PHP
  • License
    BSD 3-Clause "New...
  • Created over 10 years ago
  • Updated over 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

phUML is fully automatic UML diagram generator. It takes arbitrary object oriented code written in php5 and creates fully blown class diagrams of it.

Note

WARNING: This project isn't actively maintained anymore, mainly due to the lack of time. I migrated it to github by request. Hopefully somebody might find this useful as a base to work on again. Eventhough it should still be compatible with current PHP versions. It does not support newer features like namespace and such. Of course Pull-Requests are always welcome. If somebody wants to take over maintership completely I would be happy to discuss that.

phUML

What is this all about?

phUML is fully automatic UML class diagramm generator written PHP. It is capable of parsing any PHP5 object oriented source code and create an appropriate image representation of the oo structure based on the UML specification.

What does it look like?

Class diagram of the phUML generator

The image shown here is the class diagramm which phUML created when run on its own 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

Can I use this for my own projects?

phUML should be compatible with any object oriented code written in PHP5. At the moment it unfortunatly does not support any PHP4 code.

phUML has quite a informative help interface, which can be accessed by calling it with the -h option.

$ phuml -h

The phUML generator works with so called processors, which may be used in a chain to create a lot of different output formats. Every available processor can be listed by calling phUML with the -l option.

$ phuml -l

The most important processor used to create images of any kind is the graphviz processor. As its name indicates it outputs information in the so called dot language used by graphviz. To sucessfully handle this output format and create the desired images 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.

$ phuml -r ./ -dot -createAssociations false -neato example.png

More Repositories

1

Pdf-Presenter-Console

A Keynote like presenter console with multi-monitor support and the ability to read PDF as input files.
Vala
95
star
2

the_ray_tracer_challenge_in_rust

Repository to follow my development of "The Raytracer Challenge" book by Jamis Buck in the language Rust
Rust
62
star
3

prettytable.sh

A shell script to pretty print tabular data into the terminal
Shell
61
star
4

Vala_CMake

CMake macros to compile and manage Vala projects
CMake
43
star
5

colorizer

Bash function to convert xml-tag like color strings to ANSI color escape codes
Shell
33
star
6

sprintf.js

An almost feature complete Javascript implementation of the sprintf standard c function
JavaScript
24
star
7

the_raytracer_challenge_repl

A WebAssembly (WASM) based REPL interface for my Raytracer Challenge in Rust project
Svelte
19
star
8

ineedmoretime

A HTML5 analog clock experiment, using jQuery and Raphael js.
JavaScript
19
star
9

argumentrewrap

Vim plugin to automatically rewrap argument lists to multiple lines
Vim Script
17
star
10

playgrounds

A bunch of simple vagrant/ansible based playgrounds, with different environments and services installed
Shell
16
star
11

palavra

A chrome newtab replacement providing a useful space to take notes in markdown on each new tab
JavaScript
14
star
12

pdf2svg

Commandline utility to convert a PDF document to a bunch of SVG files.
Vala
11
star
13

web-sprite-generator

Utillity to automate the process of creating sprite images, providing all the needed flexibility to allow for different layouts, corresponding definitions and image-types.
PHP
11
star
14

pixel_loop

A Rust implementation for fixed time game/update loops
Rust
10
star
15

onyx-air-reflector

A simple screengrabber live viewer for the Onyx Boox Note Air EInk Tablet
JavaScript
9
star
16

inkplate-photo-frame

e-radionica Inkplate based photo frame firmware
C++
8
star
17

source-map-merger

Merge generated Source Maps to create a map between the initial source and the final result through multiple transformation and processing steps
JavaScript
8
star
18

divoom-pixoo-max-nodejs

A reverse engineering experiment of the Divoom Pixoo Max Bluetooth protocol in nodejs
TypeScript
6
star
19

green_rust

A mesmerizing matrix-inspired console animation in Rust.
Rust
6
star
20

dotfiles

Personal repository of configuration files
Shell
5
star
21

256colors

A bash script to show and calculate all available 256 ansi colors of a modern terminal
Shell
5
star
22

img2inkplate

Convert images to e-radionica compatible 7-bit grayscale format with different dithering modes to choose from.
JavaScript
5
star
23

whitespacetrail

Simple functions for Vim, to display trailing whitespaces while editing
Vim Script
5
star
24

Ghost

Template based HTML to PDF renderer based on PhantomJS
CoffeeScript
4
star
25

Revtrans

Transformer for Revelation password files into other formats like "Secrects for Android" csv written in PHP.
PHP
4
star
26

on-air-notifier

Simple macOS Menu Bar App, which notifies an arbitrary HTTP service if a camera is in use
Swift
4
star
27

hammerspoon-config

My hammerspoon configuration with corresponding modules and functionality
Lua
3
star
28

HDDSuspend

A shell script to put your harddrives to sleep after a certain amount of inactivity eventhough they don't support hdparm -S
Shell
3
star
29

jsdays-performance-tooling-examples

Examples and Code for the performance tooling workshop during JavaScript Days
JavaScript
2
star
30

node-l8smartlight

A nodejs library in order to facillitate communication with an L8 Smartlight
JavaScript
2
star
31

amiga-bootscreen-css

A pure CSS recreation of the amiga kickstart bootscreen from 2.x onwards.
CSS
2
star
32

kinetic.js

A jQuery Plugin JavaScript implementation of kinetic scrolling known from the iPhone/iPad.
JavaScript
2
star
33

EventRecorder

A really simple JavaScript library to record and replay Events inside a Webbrowser.
JavaScript
2
star
34

CSSClock

A simple analog clock, rendered using the css 2d transform features of modern browsers.
JavaScript
2
star
35

duplicity-runner

A convenience wrapper script around the amazing duplicity backup application
2
star
36

twitter_comic_streamer

A client/server project used to display works of your favorite twitter comic artists on an inkplate epaper
Rust
2
star
37

jspack

Implementation of perls pack function in JavaScript
JavaScript
2
star
38

OctoTray

A menubar application to work with and monitor an OctoPrint server.
JavaScript
1
star
39

evolving_vectorization

Experiment to use simulated annealing in order to recreate an image from overlapping transparent polygons
C
1
star
40

activebar2

Let IE6 die using a bar to make your users hopefully upgrade soon
JavaScript
1
star
41

pastemode

A really simple vimscript to enter insertmode with paste enabled and disable it automatically when left again
Vim Script
1
star
42

autostarter

A bash script to startup and position certain applications automatically based on the current screen resolution
Shell
1
star
43

services.js

A dependency injection container for javascript using explicit service definitions
JavaScript
1
star
44

timelapse-capture

macOS based bash script to create timelapse screencaptures
Shell
1
star
45

twitter_image_downloader

Cli Application to download all images provided by a specific twitter user.
Rust
1
star
46

powerline-statusbar

A powerline inspired Statusbar renderer for nodejs cli applications
JavaScript
1
star
47

babel-repl

A simple Babel based Repl used during some of my workshops
JavaScript
1
star
48

jquery.protect

A jQuery plugin to display a warning if a page with unsubmitted form data is navigated away from.
JavaScript
1
star
49

lucie

An experiment to create a minimal cgi-bin lua based scripting language for embedded systems with a minimal footprint
C
1
star
50

docker-ubuntu-environment

Basic ubuntu environment for my docker images
Shell
1
star
51

phidget

A PHP-GTK experiment allowing to create Desktop Widgets with PHP
PHP
1
star
52

xkcd_sync

A syncing utility to fetch and store the newest xkcd comics
Rust
1
star
53

img_dither

Rust implementation of image dithering through error diffusion
Rust
1
star