PHP UML
PHP と UML のクラス図: PHP と UML のクラス図
2007-11-01 22:51
この短い記事は、PHP を使用して UML を説明する (またはその逆) と言えます。 ) はイノベーションです。この記事を通じて、www.phppatterns.com という優れたサイトも発見しました。各 UML 用語の翻訳は、私が読んでいる書籍「UML ユーザー ガイド (統一モデリング言語ユーザー ガイド)」から引用しています。 <?php class Senior { } class Junior extends Senior { } ?> ログイン後にコピー UML 表現は次のとおりです: 三角形が親クラス側にあることに注意してください。 [関連付け] 関連はありませんが、相互にアクセスする必要がある 2 つのクラス間で発生します。たとえば、モデルとビューでは、表示用のデータを提供するためにモデルが必要です。関連にはいくつかの異なるタイプがあります: *集約* 集約 集約 (集約) は、1 つのクラス (次の例では Model) が別のクラス (次の例では Dao) にアクセスするときに、2 番目のクラス (Dao) が外部 ($dao) でインスタンス化されています。最初のオブジェクト ($model) が「消滅」しても、2 番目のオブジェクト ($dao) は依然として「生存」し続けます。これは、多くのオブジェクトに渡される可能性があるデータ アクセス オブジェクト (データ アクセス オブジェクト) に関しては一般的であり、データ アクセス オブジェクトが「死亡」した場合でも、これらのオブジェクトは依然として「生存」しています。 この方法は、通常、最初のクラス (Model) が 2 番目のクラス (Dao) の一部を制御することを説明します。 例: <?php class Dao { function getSomething() { } } class Model { var $dao; function Model (& $dao) { $this->dao=& $dao; } function doSomething () { $this->dao->getSomething(); } } $dao=new Dao; $model=new Model($dao); $model->doSomething(); ?> ログイン後にコピー は、UML では次のように表現されます: 中空のひし形はコントロール クラス側にあります。 *合成* 組み合わせ 合成は、1 つのクラス (例では View) が別のクラス (例では LinkWidget) をインスタンス化するときに発生します。そのため、前者 (View) が「ハング」() した場合も「終了」状況に従います。 言い換えれば、第 1 クラスは第 2 クラスのすべてを制御します。 PHP での例を次に示します。 <?php class LinkWidget { function Display () { } } class View { var $linkWidget; var $page; function View () { $this->linkWidget=new LinkWidget; } function renderPage () { $this->page=$this->linkWidget->display() } } ?> ログイン後にコピー は、UML では次の図で表されます: 実線のひし形はコントロール クラス側にあります。 [メッセージ] メッセージは、クラス (例では View) がその (HtmlUtils) インスタンスを制御せずに別のクラス (例では HtmlUtils) と「通信」するときに発生します。これらのクラス間の関係も関連付けです。 PHP では通常、演算子 :: が使用されているときにこれが発生します。例: 訳: このメソッドは、C++ の HtmlUtils クラスのメンバー関数 unHtmlEntities() が静的である場合と似ていると思います。そのため、HtmlUtils をインスタンス化する必要がなく、「クラス名」を直接使用できます。 ::メンバー関数名」メソッド(HtmlUtils::unHtmlEntities())が呼び出されます。 <?php class HtmlUtils { function unHtmlEntities ($str) { $trans_tbl = get_html_translation_table (HTML_ENTITIES); $trans_tbl = array_flip ($trans_tbl); return strtr ($str, $trans_tbl); } } class View { function renderPage { $text=HtmlUtils::unHtmlEntities($text); } } ?> ログイン後にコピー これは次のように表されます: メッセージは View から HtmlUtils に送信されます (一方向の送信) 同様に、メッセージは両方向に送信することもできます。 <?php class Debug { function display () { echo ($this->errorMsg); } } class SomeClass { var $errorMsg='This is an error message'; function someFunction () { if ( DEBUG == 1 ) { Debug::display(); } } } define ('DEBUG',1); $someClass= &new SomeClass; $someClass->someFunction(); ?> ログイン後にコピー [出力メッセージ: 「これはエラー メッセージです」] ここで、SomeClass は Debug にメッセージを送信し、Debug は SomeClass の $errorMsg プロパティにアクセスします。 |

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











多くの場合、キーワードと追跡パラメーターで散らかった長いURLは、訪問者を阻止できます。 URL短縮スクリプトはソリューションを提供し、ソーシャルメディアやその他のプラットフォームに最適な簡潔なリンクを作成します。 これらのスクリプトは、個々のWebサイトにとって価値があります

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

これは、LaravelバックエンドとのReactアプリケーションの構築に関するシリーズの2番目と最終部分です。シリーズの最初の部分では、基本的な製品上場アプリケーションのためにLaravelを使用してRESTFUL APIを作成しました。このチュートリアルでは、開発者になります

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

2025 PHP Landscape Surveyは、現在のPHP開発動向を調査しています。 開発者や企業に洞察を提供することを目的とした、フレームワークの使用、展開方法、および課題を調査します。 この調査では、現代のPHP Versioの成長が予想されています

この記事では、Laravel Webフレームワークの通知システムを検討します。 Laravelの通知システムを使用すると、さまざまなチャネルでユーザーに通知を送信できます。今日は、通知ovを送信する方法について説明します
