微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用Symfony PHP实现3层架构

在我迄今为止所做的学校网络项目中,我使用3层方法构建我的应用程序.
数据层,应用程序和表示层.
我已经使用pythonjava的这个架构,我也想用它与PHP.
我对层之间的通信非常严格,因为这些是分配的要求,我可以说我发现它非常好,因为当我尝试从MysqL切换到Mongo db时,它非常容易.我只需要更改数据访问对象功能中的代码.

正如我之前所说,我想在PHP中编写一个更大的应用程序,我下载并安装了Symfony2 Framework,这是一个MVC框架.我的目的是使用MysqL初始化测试应用程序,然后使用Redis进行切换和测试.

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

解决方法:

Symfony2本身不是一个MVC框架,它只是一堆松散耦合的组件,可以很好地协同工作.主要开发者有一个关于此的blog post.

您可以选择捆绑包的精细程度,例如,您可以创建包含纯域对象,业务逻辑和存储库接口的捆绑包,DAO,无论您想要什么.您可以选择提供所选ORM的映射配置.现在,您可以为数据访问策略创建捆绑包,例如使用doctrine的捆绑包,使用redis创建捆绑包,实现存储库接口.

因此,您可以对细粒度的bundle结构感到疯狂,但对于简单的应用程序,您可以将所有这些放在/ src下,或者只是创建一个包含在那里实现的所有数据访问策略的包,并在您的应用程序中选择一个包.组态.

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐