如何正确设置CakePHP和Laravel等MVC应用程序?

禁令

我试图了解胖模型和瘦控制器概念的好处。到目前为止,我已经阅读了许多文章,下面是我的问题。请回答有关CakePHP 3和laravel 5.2中最佳方法的问题。

1)遵循胖模型/在控制器概念内部保持业务逻辑仅仅是意味着永远不要在控制器内部使用ORM方法(例如,查找,保存等)。

2)为什么cakephp和laravel文档中的所有示例仅在控制器内部而不是在应在控制器中调用的自定义模型函数内部显示查询。

3)有许多模式和体系结构,例如数据映射器,存储库,活动记录。哪一种最适合大型企业应用程序。在这种情况下,使用Doctrine而不是捆绑的ORM更好吗?

4)如果我需要在自定义模型函数中调用另一个模型,该怎么办?可以吗?如果不是,那么在这种情况下最好的方法是什么。请用一个示例来解释,例如cakephp doc使用博客,用户,评论等

谢谢。

用户名

您在这里提出了一些非常广泛的问题,因此期望得到广泛的答案。为了让您从我的经验中获得一些见解:

  1. 不,在许多情况下,逻辑足够简单或没有直接绑定到数据,因此业务逻辑可以包含在控制器方法中。话虽如此,我喜欢将控制器视为两个端点之间的通道。即我可能会沿途拾取数据,但是我尽量不要在控制器中操作数据,而仅将其提供给视图或要更新的存储库。
  2. 简单?最好不要在一个示例中引入太多概念。相同的原则适用于编程,抽象和使事情保持简单。
  3. 我在项目中都使用了存储库模式,活动记录和学说。这是完成正确工作的正确工具。
  4. 我尝试保持对模型的直接访问尽可能抽象。您的基础存储架构可能随时发生变化,最好不要依赖任何形式的“结构”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何正确处理Xamarin.Forms Android应用程序的版本和设置?

如何正确设置微调器应用程序的样式

如何使用Docker正确部署和扩展应用程序

如何为Laravel应用程序设置Cloudfront CDN?

如何通过依赖项注入正确设置Azure Functions日志记录,实时指标和应用程序见解

如何导出和导入Azure Function的“应用程序设置”

如何设置本地SSL证书和Rails应用程序?

如何设置应用程序/缓存和应用程序/日志文件夹的权限?

如何在MVC应用程序和控制台应用程序之间共享信息

如何在ASP.Net MVC 5应用程序的JQueryUI DatePicker中设置最小和最大日期

Spring MVC 4:“应用程序/ json”内容类型未正确设置

使用VSTS和Azure时正确管理应用程序设置

为 Web 应用程序设置身份验证和授权的正确方法是什么

设置cakephp应用程序样式的最佳方法

如何在.Net MVC应用程序的脚本文件夹下为JQuery设置MVC?

如何正确测试Web应用程序?

如何正确调试webpack应用程序?

如何从外壳“正确”启动应用程序

如何正确找到应用程序的目录?

如何正确签署VSTO应用程序?

Web 应用程序和函数应用程序的 Azure 全局应用程序设置

如何正确导入Django项目设置以与应用程序的ORM进行交互?

如何为dockerized nodeJS应用程序设置正确的组成员

如何在我的 Nuxt 应用程序中正确设置 bootstrap-vue?

log4net应该如何在应用程序中正确设置“ EventLogAppender”的“源”?

如何正确设置由Eclipse中的appfuse创建的多模块SpringMVC应用程序?

如何在C#XAML Windows 8.1应用程序中将TextBlocks设置为正确的大小?

如何借助docker compose正确设置golang应用程序的第三方库?

如何使用javaee,javafx,jpa正确设置应用程序层?