Php 某些控制器具有相同类名的Codeigniter类图

Php 某些控制器具有相同类名的Codeigniter类图,php,codeigniter,uml,class-diagram,Php,Codeigniter,Uml,Class Diagram,我使用CodeIgniter框架构建了一个web应用程序。我已经构建了我的web应用程序,但现在我必须为我的应用程序制作一个类图 问题是,我有4个控制器具有相同的类名 此目录,对于应用程序/控制器/文件: ../application/controller/company/dashboard.php ../application/controller/company/jobsheet.php ../application/controller/company/joblist.php ..

我使用CodeIgniter框架构建了一个web应用程序。我已经构建了我的web应用程序,但现在我必须为我的应用程序制作一个类图

问题是,我有4个控制器具有相同的类名

此目录,对于应用程序/控制器/文件:

 ../application/controller/company/dashboard.php
 ../application/controller/company/jobsheet.php
 ../application/controller/company/joblist.php
 ../application/controller/company/notification.php
 ...etc

现在我有了相同的控制器类名和不同的目录。我现在的解决方案是这样命名:

 company/jobsheet

 student/jobsheet
等等


如何在UML上命名我的类图

使用名称空间或为类添加前缀。

您可以非常简单地用UML创建模型。名称空间是解决方案。。正如巴勃罗所描述的那样。 UML定义包元素。包是命名空间。您可以在包中定义类。不同命名空间中的两个类可以具有相同的名称。由类名和名称空间名组成的元素名称为限定名。限定名精确标识类定义。所有面向对象的环境都支持限定名称

在您的示例中,“应用程序/控制器/公司/仪表板”也是仪表板的限定名称。应用程序、控制器、公司和学生是UML中的包。 应用程序的UML类图可以如下所示:


在为我拥有的每个类指定名称空间后,我在UML类图上用class namespace命名了我的类?使用namesapce是最好的方法,但我不知道codeigniter是否支持它。我认为类前缀会更好,然后你可以像往常一样在图中命名你的类。问题不在节目上。。我的程序正常运行。问题在于对程序进行建模时。我混淆了类图的命名,因为它有相同的类名。如果我错了,请纠正我。我是否必须使用名称空间稍微更改代码?抱歉问了一个荒谬的问题,我以前从未使用过名称空间。PHP可以定义名称空间。命名空间为类提供了唯一的名称。我想说的是,您应该在php文件中将名称空间添加到类定义中。请参阅在php中使用名称空间@user3209635,以获取包含名称空间(“包”)和类的UML图示例,请参阅本章末尾的其他示例php可以定义名称空间。命名空间为类提供了唯一的名称。我想说的是,您应该在php文件中将名称空间添加到类定义中。请参见此处使用php中的名称空间
 company/jobsheet

 student/jobsheet