ホームページ > バックエンド開発 > PHPチュートリアル > PHP および UML クラス図PHPandUMLClassDiagrams_PHP チュートリアル

PHP および UML クラス図PHPandUMLClassDiagrams_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:26:09
オリジナル
1001 人が閲覧しました

この短い記事はよく書かれています。PHP を使用して UML を説明することは革新的であると言えます。この記事を通じて、www.phppatterns.com という優れた Web サイトも見つけました。各 UML 用語の翻訳は、私が読んでいる書籍「UML ユーザー ガイド (統一モデリング言語ユーザー ガイド)」から引用しています。 UML (Unified Modeling Language) は、ソフトウェアを図で表現するためのメカニズムです。基本的に、図を描くことでプログラムを設計できるようになり、対応するツールが利用可能な場合は、図から直接コードを生成することもできます。この記事では、UML クラス図を使用して PHP コードがどのように表現されるかを見ていきます。 すでに UML の知識があることを前提として、直接開始し、いくつかの PHP コードとそれに対応する UML 表現を例として示します。ただし、これはクラス図の完全な分析ではありません。 まだ UML に慣れていない場合は、読み始める前にいくつかの知識を追加することができます。いくつかのリソースを収集し、この記事の最後にリストしました。 【継承継承関係】 PHP キーワード extends により、あるクラス(サブクラス)が別のクラス(親クラス)から継承することができます。 UML 表現は次のとおりです: 三角形が親クラス側にあることに注意してください。 [関連付け] 関連付けは、モデルとビューなど、関係はなくても相互にアクセスする必要がある 2 つのクラス間で発生します。モデルは表示用のデータを提供する必要があります。関連にはいくつかの異なるタイプがあります: *集約* 集約 (集約) は、1 つのクラス (次の例では Model) が別のクラス (次の例では Dao) にアクセスするとき、2 番目のクラス (Dao) は外部でインスタンス化されている可能性があります ($)だお)。最初のオブジェクト ($model) が「消滅」しても、2 番目のオブジェクト ($dao) は依然として「生存」し続けます。これは、多くのオブジェクトに渡される可能性があるデータ アクセス オブジェクト (データ アクセス オブジェクト) に関しては一般的であり、データ アクセス オブジェクトが「死亡」した場合でも、これらのオブジェクトは依然として「生存」しています。 このようにして、通常、最初のクラス (Model) が 2 番目のクラス (Dao) の一部を制御すると説明されます。 例: dao=& $dao; } function doSomething () { $this->dao->getSomething(); } $dao=new Dao; $model-> doSomething; (); ?> は UML で次のように表現されます。 中空のひし形はコントロール クラス側にあります。 *合成* 合成は、あるクラス (例では View) が別のクラス (例では LinkWidget) をインスタンス化するときに発生します。そのため、前者 (View) が「ハング」すると、後者 () も「ゲーム オーバー」状態になります。 言い換えれば、最初のクラスは 2 番目のクラスのすべてを制御します。 以下は PHP での例です: linkWidget=new LinkWidget; } function renderPage () { $this->page=$this->linkWidget->display() } } ?> UML では次の図で表されます。制御側。 [メッセージ] メッセージは、クラス (例では View) が、その (HtmlUtils) インスタンスを制御せずに別のクラス (例では HtmlUtils) と「通信」するときに発生します。これらのクラス間の関係も関連付けです。 PHP では通常、演算子 :: が使用されているときにこれが発生します。例: 翻訳注: このメソッドは、C++ の HtmlUtils クラスのメンバー関数 unHtmlEntities() が静的である場合と似ていると思います。そのため、HtmlUtils をインスタンス化する必要がなく、「クラス名:」を直接使用できます。 :メンバー関数名」メソッド (HtmlUtils ::unHtmlEntities()) を呼び出します。 これは次のように表現されます: メッセージは View から HtmlUtils に送信されます (一方向の送信) 同様に、メッセージは両方向に送信することもできます。 errorMsg); } } class SomeClass { var $errorMsg=これはエラー メッセージです; function someFunction () { if ( DEBUG == 1 ) { Debug::display() } } } someClass= &new SomeClass; $someClass->someFunction(); ?> [出力メッセージ: 「これはエラー メッセージです」] ここで、SomeClass は Debug にメッセージを送信し、Debug は SomeClass の $errorMsg プロパティにアクセスします。 [リソース] オブジェクト管理グループによる UML の紹介 Posideon UML - UML 図を描画し、Java を生成するためのツール (残念ながら PHP はありません)。コミュニティ エディションは、オープン ソース プロジェクトである Argo UML に基づいています。 UML UML リファレンスカード

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/531980.html技術記事この短い記事はよく書かれています。PHP を使用して UML を説明することは革新的であると言えます。この記事を通じて、www.phppatterns.com という優れた Web サイトも見つけました。さまざまな UML テクニック...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート