[ Laravel 从学徒到工匠系列 ] 目录结构篇

简介 这个类要放到哪儿?这可能是基于框架构建应用时非常常见的问题。很多开发者都会有这个疑问,因为他们被灌输了「模型」就是「数据库」这种概念。因此,在控制器里面处理 HTTP 请求,在模型类里面操作数据库增删改查,在视图里编写要显示的HTML,成了开发者们约定俗成的规定。但是,发送电子邮件的类要放到哪儿?验证数据的类呢?调用外部 API 的类呢?在这一章中,我们将介绍 Laravel 框架...

[ Laravel 从入门到精通 ] Laravel 控制器:从 MVC 模式到资源控制器

控制器概述 到目前为止,我们定义的所有路由都是基于闭包函数实现的,前面已经提到过,随着应用体量的增长,不可能将所有路由都定义在单个文件中,且对于复杂的业务逻辑,闭包函数也不足以支撑,所以和其他 Web 应用框架一样,我们还可以通过控制器来定义路由。 说到这里,我们就不得不提一下 MVC 设计模式,这个模式最早在 Ruby On Rails 中引入,然后被基本上所有的 Web 框架所借鉴和...

通过 Apiato 框架引入构建 API 应用的两种软件架构模式 —— Porto / MVC

接下来的系列中,我们将基于 Apiato 这个 API 框架来演示如何快速构建 API 应用来实现常见功能。 前面我们在 Apiato 快速入门 这篇文档中大概已经了解了 Apiato 的功能特性以及如何创建一个新的应用并对应用接口的访问有了初步的了解,在继续深入介绍该框架所有功能特性之前我们先来了解下 Apiato 框架的架构模式,以便从根本上了解框架的运行原理,从而更好地掌握它...

《程序员修炼之道:从小工到专家》第五章:弯曲或折断(2)

四、它只是视图 一旦你基于责任把程序划分成不同模块,你就有了新的问题,在运行时,对象怎样相互交谈?你怎样管理它们之间的逻辑依赖?也就是说,你怎样对这些不同对象中的状态的变化进行同步? 我们将从事件的概念开始。 一个事件就是一条特殊的消息,说明“刚刚发生了某件有趣的事情”,我们可以用事件把某个对象的状态变化通知给可能感兴趣的其他对象。这样使用事件使得那些对象之间的耦合得以减至...