gpt4 book ai didi

php - 使用 Symfony PHP 实现三层架构

转载 作者:可可西里 更新时间:2023-11-01 00:50:08 27 4
gpt4 key购买 nike

在我迄今为止完成的学校 Web 项目中,我使用 3 层方法构建我的应用程序。数据层、应用程序和表示层。我已经将这种架构与 python 和 java 一起使用,我也想将它与 php 一起使用。我对层与层之间的通信非常严格,因为这些是作业的要求,我可以说我觉得它非常好,因为当我尝试一次从 mySQL 切换到 Mongo db 时,它非常容易。我只需更改数据访问对象函数内的代码。

正如我之前所说,我现在想用 php 编写一个更大的应用程序,我下载并安装了 Symfony2 框架,这是一个 MVC 框架。我的意图是先使用 MySQL 测试应用程序,然后切换到 Redis 进行测试。

所以我的问题是:我可以使用框架的功能和所有“好东西”来编写 3 层架构应用程序吗?我如何分离这些层?

最佳答案

Symfony2 本身并不是一个 MVC 框架,它只是一堆松散耦合的组件,可以很好地协同工作。有一个 blog post来自首席开发人员的介绍。

您可以选择 bundle 的粒度,例如,您可以创建一个包含纯域对象、业务逻辑和存储库接口(interface)的 bundle ,无论您想要什么。您可以选择提供您选择的 ORM 的映射配置。现在您可以为数据访问策略创建包,例如使用 doctrine 的包,其他使用 redis 的包,实现您的存储库接口(interface)。

所以你可以对细粒度的 bundles 结构着迷,但对于简单的应用程序,你可以将所有这些放在 /src 下,或者只创建一个包含在那里实现的所有数据访问策略的 bundle,并在您的应用程序中使用捆绑配置选择一个。

研究其他 bundle 的方法也有助于熟悉最佳实践,FOSCommentBundleFOSUserBundle可能是一个很好的起点。

关于php - 使用 Symfony PHP 实现三层架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9484458/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com