0

假设你需要制作一个自定义的类,它将被你的控制器使用。在MVC中,你把自定义类放在哪里?

class mycontroller extends main_controller 
{ 
    public function __construct() 
    { 
     $c = new my_custom_class(); 
    } 
} 

my_custom_class不是模型/视图/控制器,它是一个独立的类。什么是放置my_custom_class.php文件的地方(什么文件夹)的最佳做法?它应该简单地放置在任意文件夹中(即/custom_classes/),或者在使用MVC时有最佳做法吗?

+0

在模型部分 – Unex

+1

Imo,它取决于这个自定义类实际在做什么。 –

+0

模型是最合适的,但是你可以进一步分离它,ie /classes/helpers/MyHelper.php – LMS94

回答

0

这取决于那些“自定义类”实际上是什么。在最近的一个项目中,我的目录结构如下所示:http://i.stack.imgur.com/YGVI9.png

通过控制器交互的自定义​​类通常是各种服务,并进入/src/model/services目录。

我也有两个基础设施级别的位置(如各种工厂/建设者和一些数据结构的抽象类)。那些结果在/src/components
/src/applications/<app>/components目录中。

您在自己的项目中看到的内容可能是“代码味道” analogue,但用于应用程序体系结构。这可能是一个迹象,你一直在控制器中推送应用程序逻辑,它不应该在那里。