みなさん、普通の人はUMLモデリングツールに何を使っているんでしょうか。
とくにPHPの人は・・・???
PHPに対応したツールってほとんど見当たらないので本当に謎です。マジで!
会社ではVisio2000に PHP データ型 とか勝手に作って書いてます。
開発標準化にあたってツール類も探しているんですが、フリーの(オープンソースでなくてもいい)UMLモデリングツールってなかなかコレ!ってのが無いです。PHPに関してはラウンドトリップなんかはあきらめてるんですが、QtベースのUmbrelloというオープンソースのUMLモデリングツールがPHPに対応しているというので試してみました。(これのためだけにsargeインストール・・・)
見ての通りUMLモデリングツールとしては普通っぽいUIなのでVisioからすんなり入れました。本気でこれに移行しようとかいうんじゃないんで「おー良くできとる」っていう感じです。
適当なクラス図を描いて早速、クラス図からソースを吐いてみました。(ソースからの読み込みはできないみたいです。)
request.php
/**
* class Request
*
*/
class Request
{
/** Aggregations: */
/** Compositions: */
/*** Attributes: ***/
/**
*
*
* @param string name
* @return string
* @access public
*/
function get( $name )
{
} // end of member function get
/**
*
*
* @param int name
* @param int value
* @return void
* @access private
*/
function set( $name, $value )
{
} // end of member function set
} // end of Request
?>
view.php
/**
* class View
*
*/
class View extends Smarty
{
/** Aggregations: */
/** Compositions: */
/*** Attributes: ***/
/**
*
*
* @return void
* @access public
*/
function execute( )
{
} // end of member function execute
} // end of View
?>
おお、継承とかはちゃんとやってくれるみたいです。でもこのソースフォーマットって標準的じゃないっぽくない?
改めて考えてみるとラウンドトリップ機能ってコード書いてて途中でリファクタリングしてもクラス図やソースのメンテナンスが楽!っていうために使うんですな。吐いて終わりだと最初の一回だけだからあんまり嬉しくないかも・・・。