使用CakePHP进行模块化目录结构

时间:2015-07-23 08:12:09

标签: php cakephp model-view-controller web-applications enterprise

CakePHP太棒了,它确实应该得到“快速发展框架”的口号。我已经能够快速烘焙控制器,模型和模板。在我碰到一堵砖墙之前,事情好好一阵子。我正在开发的应用程序对于默认提供的简单目录结构来说太庞大了。

在我的开发过程中,我开始看到自己在Table类中留下了许多业务逻辑。我听说过用行为代码污染模型类不是一个好主意。

由于我的应用程序很大,它需要几个模块几乎是迷你应用程序本身我需要使用CakePHP稍微不同。我将解释我更喜欢的应用程序结构。

应用程序结构(架构)

enter image description here

核心

此文件夹将包含我的应用程序的所有模块。或者,它应该被称为“模块”而不是“核心”。

模块

每个模块文件夹都有一个控制器,模型,服务和模板的文件夹。

模型

这将包含两个子文件夹,作为CakePHP 3已经提供的子文件夹。它将包含实体和表格的文件夹。我听说该表充当了存储库,所以我省略了拥有存储库文件夹的想法。

服务

服务文件夹将包含模块的服务,主要是使用表实体进行数据持久性和检索的业务逻辑代码。这是为了帮助保持业务逻辑的中心,并保持模型类和&控制器薄。

控制器

控制器将是与服务类通信的人。使用服务来检索数据,保存数据,进行验证,使用业务逻辑等等。我的目标也是通过将大部分逻辑内容转移到服务中来使控制器的工作变得非常轻松。

模板

这将包含控制器用于将数据呈现回Web浏览器的视图文件。我可能在那里有子文件夹,用于查看模块的子部分。

Notes&问题

请原谅我如果我没有正确解释自己,我们正在处理一个非常复杂的应用程序,它有很多表,大约100个。如果有人有更好的建议来组织CakePHP 3中的大型应用程序,我会非常感激。

通过以这种方式开发我的应用程序,我理解CakePHP不会开箱即用,我可能需要重新配置它,以便它可以使用我的自定义目录结构。这样做有多容易?

0 个答案:

没有答案