【问题标题】:Laravel 3 : Looking for explanation how to use the modelLaravel 3:寻找解释如何使用模型
【发布时间】:2013-09-17 09:25:26
【问题描述】:

我是 MVC 的新手,我的第一个框架是 Laravel(目前是 3 个)。我已经开始专门在路线中编码,然后我搬到了控制器。但是,我正在控制器中执行所有数据库操作。我不明白如何使用模型。

示例要么演示控制器中的所有内容,要么演示路由中的所有内容,但它们从不拆分模型、控制器和视图。

谁能解释一下如何使用该模型?简而言之,我不明白如何相互链接,比如将表单输入发送给他们的模型,或者将处理后的数据返回给控制器。

具有完整 MVC 设置的 Laravel(如果可能,v3)的 github 存储库也很适合分析,如果有人有一个供我查看吗?

谢谢。

【问题讨论】:

  • 为什么? Laravel 甚至没有实现 MVC 或任何远程 MVC 启发的东西。你所拥有的只是一组看起来有点像活动记录的实例。
  • 只是一个想法:如果你要开始学习 Laravel,你最好从 Laravel 4 开始。
  • @tereško 那么你有什么建议实现 MVC,那不是 Zend?另外,为什么投反对票?
  • 框架不实现 MVC。你的代码可以。或者没有。
  • 模型是描述数据库表的类。模型的实例是该数据库表中的一行。模型实际上只是数据容器。

标签: php model-view-controller model laravel laravel-3


【解决方案1】:

我听到的关于框架主题的最佳陈述要归功于鲍勃叔叔:

一个好的架构可以推迟重大决策!

具体来说:

  • 一个好的架构会延迟选择框架!

另一个值得思考的好作品:

MVC 不是架构!这是一种交付设计模式。

观看他的视频 - 可悲的是,这是为数不多的不花 1000 字来表达 10 字的视频之一,我不能高度推荐它 - 它会帮助你理解很多观点在您的问题中提出:

Robert C Martin(Uncle Bob) -Clean Architecture and Design - Video

当然,他的《清洁代码》一书也非常值得推荐!

【讨论】:

  • 好推荐!这段视频(我在将近 1.6 年前看过)只是改变了我的看法,我在脑海中画的关于软件开发的图像,打开了另一扇学习之门,现在一切都变得如此清晰。谢谢鲍勃叔叔:-)
【解决方案2】:

虽然此链接适用于 Laravel 4 文档,但它可以帮助您了解模型的工作原理 -(Laravel 3 也使用 Eloquent):

http://laravel.com/docs/eloquent

另外,特定于 laravel 3:

http://codehappy.daylerees.com/eloquent-orm

【讨论】:

  • ORM 和 MVC 有什么关系?
  • @itachi,OP 询问在他一直在查看的任何示例中,特别是在 Laravel 3 中都没有谈论“模型”。正如 Populus 在他的评论中提到的那样,“模型的实例是一行在那个数据库表中。” ORM = 对象关系映射器;因此,ORM 将对象映射到数据库,对吗?你可以在没有 Eloquent 的情况下使用 Laravel 吗?是的,但是 Laravel 中的模型对象通常应该扩展 Eloquent。在 google 上搜索“Laravel Models”,你看到的一切都在讨论雄辩。请实际阅读我提供的链接 - 页面标题为“Eloquent ORM”,但它们是关于模型的。
  • 重点是模型!= 雄辩。 Eloquent 是一个 ORM。 ORM 只是模型的一部分,而不是整个模型。
  • 模型!= ORM,没关系。我将重新表述我的观点:在全新的、开箱即用的 Laravel 安装中,模型可以而且应该始终扩展 Eloquent 类,使您能够使用 ORM。 OP问:laravel中的“如何使用模型”。 Eloquent 是 Laravel 框架不可或缺的功能。在我看来,如果你想了解模型在 Laravel 中的工作原理,请尝试了解 Eloquent。
猜你喜欢
  • 1970-01-01
  • 2020-11-29
  • 2013-09-11
  • 2021-04-06
  • 1970-01-01
  • 1970-01-01
  • 2011-04-03
  • 2010-11-21
  • 1970-01-01
相关资源
最近更新 更多