本篇文章给大家谈谈php怎么画类图,以及php 绘图对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录:
PHP网站怎么划UML类图?
如果你尚未接触过uml,在你开始阅读前可以补充一些知识,我们收集了一些资源列在这篇文章的末尾。
[inheritance 继承关系]
php关键字extends允许一个类(子类)继承于另一个类(父类)。
?php
class senior {
}
class junior extends senior {
}
?
uml方式表示如下:
请注意,三角形在父类这边。
[associations 关联关系]
关联关系(associations)发生于两个不存在关系但也许需要互相访问的类之间,比如model(模型)和view(视图),view需要model提供数据以进行显示。有几种不同的关联类型:
*aggregation* 聚合
聚合(aggregation)是当一个类(下面例子为model)访问另一个类(下面例子为dao)时,第二个类(dao)也许已经被外部实例化($dao)了 。如果第一个对象($model)“挂了”,第二个对象($dao)仍然会继续“活着”。这在涉及数据访问对象(data access objects)时很常见,它们也许会被传递给很多对象,这些对象就算“挂了”数据访问对象也依然“健在”。
这种方式正常地解释了第一个类(model)控制第二个类(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中表示为:
空心菱形在控制类这边。
*composition* 组合
组合(composition)发生于当于一个类(例子中为view)将另一个类(例子中为linkwidget)实例化,这样当前者(view)“挂了”时后者()也跟着“玩完”的情况。
换句话说,第一个类控制了第二个类的全部。
下面是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中用下图表示:
实心菱形在控制类这边。
[messages 消息]
消息(messages)发生于一个类(例子中为view)同其它类(例子中为htmlutils)“交流”而不控制它(htmlutils)的实例的时候。这些类之间的关系同样是关联关系(association)。
在php中通常发生于操作符 :: 使用的时候。例如:
译注: 我觉得这种方式类似于c++中htmlutils类中的成员函数unhtmlentities()为static的情况,这样就无需实例化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();
?
[输出信息: "this is an error message"]
这里 someclass 发送一个消息给 debug,debug 访问了someclass 的 $errormsg 属性。
类图怎么画
画类图一般有以下3个步骤:确定类,识别类的属性和操作,组织类并确定其关系。如下:
1、确定类。确定类是通过对软件需求的分析来完成的。常用的方法包括行为分析、名词识别法、CRC分析等等。其中的名词识别法就是首先把需求或者用例描述中的所有的名词标识出来,把它们作为候选类,然后再对这些候选类逐个进行考察,去掉一些不必要的类。
2、区分是类还是属性。有些标识出来的候选类,实际上更适合作为类的属性,而不适合定义成类。比如会员编号,会员类型这些就适合定义为会员类的属性。
3、组织类并确定其关系。类与类之间的关系有依赖、泛化、实现和关联。在识别出了类、类的属性和操作之后,就要组织这些类并确定类之间的关系。我们通常是以类图的形式来描述类及其关系。
组织类并确定其关系通常分为以下4个步骤:
1、确定类之间的关联关系并标识其多重性。
2、使用继承关系组织类。
3、确定整体和部分的关系。
4、绘制类图。
ThinkPHP应用怎样画类图
这个在静态用例模型中,找类图的图标,移动到那个画图的页面上双击然后再左边的框中有,类,特性,操作,类就是写类的名字,特性就是写类的属性,操作我就不说了,你懂得。望采纳。
求解请根据这个代码画类图
首先创建域模型,依次点击“New Model from Pattern”,选择“Domain Model”,然后点击“确定”按钮。创建类图。选中“域模型测试”,点击“New Diagram”,输入类图名称“登录类图”,选择“class”,最后点击“确定”按钮。双击打开刚才创建的类图。为下一步画图做好准备。拖入一个用户类。并命名为User。为User类添加变量,在类窗口中,点击“详细信息”-"变量",打开“User Attributes”窗口,添加User类的变量。再依次创建Login、UserDao类,并为其添加属性和方法,并添加类之间的关联关系。User类与Login类是关联关系,Login类依赖于UserDao类。登录时会将封装的User类发送到Login类进行处理,此二者为关联关系。而Login类处理登录时,会查询数据库获取用户信息此时会用到UserDao类,因此Login对数据的查询依赖于UserDao类。
php类图怎么画,谁来举个例子
先找出实体,就所谓PHP网站,核心几大块。然后分别进行分析每一块要实现的功能。UML主要是分析功能完成的时序图,例如分析用户登陆这一个流程。那么会用到UML建模的时序图。或者 在分析其他功能模块时,要用到模块。
php怎么画类图的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php 绘图、php怎么画类图的信息别忘了在本站进行查找喔。