Laravel模型-视图-控制器(MVC)

    Liang
  • 发表于2018-08-28 15:56
  • 阅读(485)
标准的Laravel应用程序结构由一个应用程序目录app/,它含有三个子目录:models/,views/和controllers/

让我们进入Laravel应用工作的高级别概述。你可能已经注意到了标准的Laravel应用程序结构由一个应用程序目录app/,它含有三个子目录:models/,views/和controllers/。这就透露了Laravel遵循model-view-controller(MVC)架构模式,就是强制将输入到展示逻辑关系的“业务逻辑”与图形用户界面(GUI)分开。就Laravel web应用而言,业务逻辑通常由像用户,博客文章这样的数据模型组成。GUI只是浏览器中的网页而已。MVC设计模式在网页开发领域很流行。

  MVC模式的3个组件:


  • 模型(model)
  • 视图(view)
  • 控制器(controller)


  [注] 原作者在这里详细介绍了MVC三个组成部分,我这里由于篇幅就不介绍了。

一个典型的Laravel应用程序包含上面提到的MVC组件,如下图:

attachments-2018-08-k5urYwyx5b8500284d3e9.png

当与Laravel交互时,浏览器发送一个请求,web服务器接收到请求并且传给Laravel路由引擎。Laravel路由接收到请求,然后重定向给基于路由的URL模式的合适的控制器类方法。

  然后控制器类接管。在某种情况下,控制器会立即呈现出一个视图,它是一个被转换成HTML并送回浏览器的模版。更常见的动态网站,控制器与模型交互,这是一个PHP对象,它表示应用程序(如用户、博客文章)中的一个元素,并负责与数据库进行通信的。调用模型后,控制器则呈现最终视图( HTML,CSS和图像),并返回完整的网页到用户的浏览器。


  Laravel促进了这样的概念——模型、视图和控制器,应通过存储这些元素在不同的目录中的单独的代码文件中来保持相当的独立性。这就是Laravel目录结构发挥了作用。


  像MVC这样的设计模式的产生,就是为了让开发者的生活更加的轻松。这就是Laravel比那些不用任何模式的PHP厉害的地方。如果这种讨论很抽象,现在,不用担心!当你开始Laravel工作,你都不会意识到你是在一种设计模式中工作。过一段时间后,就会变得自然了。


数据模型


  数据模型是任何应用程序的基础,它描述了应用程序的业务逻辑。任何一块的数据都是用数据库表来表示的。Laravel提供了一些技术来简化对数据库的访问。


  Laravel通过将数据库中的表行转成能被轻松操纵的PHP对象,来连接应用程序的数据模型和数据库表。它还使您能够执行业务规则,描述在应用程序中不同的数据模型之间的关系等。



你可能感兴趣的文章

相关问题

4 条评论

请先 登录 后评论
不写代码的码农
Liang

1 篇文章

作家榜 »

  1. jeff 3 文章
  2. zero 1 文章
  3. Liang 1 文章
  4. ding 0 文章