第三章 · 大站调度中心:框架与工程化 章节摘要:当线路多到靠手工排班失灵,月台就需要调度中心。本章回答三个递进的问题:框架到底替你干了哪些活(路由、请求响应封装、依赖注入容器、数据库门面、模板与校验的工程化);以 Laravel 为例实际走一遍"请求进站到响应出站"的框架链路;当单站容量到顶,如何按微服务思路把一座大站拆成多座协同的中小站。读完你应当能讲清"框架没做魔法,只是自动化了第二章的手工活",并具备选型与拆分的判断框架。 学习目标 阅读完本章,你应当能够: 列出框架的五个核心构件,并逐一对应到第二章你手工实现过的对应物; 说明控制器、服务、仓储三类对象的职责分界,避免"上帝控制器"; 在 Laravel 中完成路由注册、控制器、Eloquent 模型、校验器的一条完整业务线;
章节摘要:当线路多到靠手工排班失灵,月台就需要调度中心。本章回答三个递进的问题:框架到底替你干了哪些活(路由、请求响应封装、依赖注入容器、数据库门面、模板与校验的工程化);以 Laravel 为例实际走一遍"请求进站到响应出站"的框架链路;当单站容量到顶,如何按微服务思路把一座大站拆成多座协同的中小站。读完你应当能讲清"框架没做魔法,只是自动化了第二章的手工活",并具备选型与拆分的判断框架。
阅读完本章,你应当能够:
本章主线一句话:框架是把第一、二章的手工动作标准化、自动化。三节分别对应"为什么要调度中心"、"调度中心内部怎么运转"、"一个中心不够时怎么办"。
金句:框架的价值不在让你少学,而在让你学过的东西不再重复写第二遍。
框架五构件与手工作品的对照表,控制器的职责边界,主流框架的选型口径。
从安装到一条完整业务线:路由、控制器、Eloquent、校验、中间件,配请求处理时序图。
拆分的动机与代价、按业务能力划界、服务间通信与数据一致性,配多站拓扑图与决策维度。
三节是"总—分—展"结构:3.1 给出框架的构件地图与思想定位;3.2 用一条真实业务线把地图走活,每一站都回指第二章对应的手工实现,学的是"对应"而不是"新知识";3.3 把视野从单站推到站网,拆分决策的每一条依据都建立在前两节的工程能力之上——没有容器、测试与监控的团队直接上微服务,等于把单站的混乱复制成多份。
[3.1 框架是什么] | v 构件逐一对照 [3.2 Laravel 链路] <=== 回指第二章手工件 | v 单站到顶后 [3.3 微服务拆分] | v 站网协同(第四章看演化方向)
前置:第二章全部,尤其是 2.1 面向对象(容器与依赖注入的语言基础)、2.2 PDO(理解 Eloquent 在做什么)、2.7 Composer(框架本身就是一组依赖包)。延伸:3.2 的中间件与 2.4 的闭包一脉相承,3.3 的服务间通信会用到 2.3 的 JSON 接口规范;学完本章再看第四章的生态演化,能理解框架迭代背后的语言能力支撑。
把学本章之前最常见的三个犹豫摆到台面上,读完正文再回来看,答案会更立体。
问题一:框架会不会让我退步? 不会,前提是按本册的顺序学——先手工后框架,框架对你是"把会做的事少写一遍"。真正的退步路径是反过来的:直接上框架,三年后离开框架不会写代码。判断自己有没有退步的试金石:能不能徒手实现一个"路由加分发"的最小入口?能,你在用框架;不能,框架在用你。
问题二:学哪个框架最保值? 保值的是框架背后的通用件:路由匹配、容器装配、ORM 映射、中间件管道。这四件任何主流框架都有,思路差异极小。所以选型看团队与生态(3.1 的三条口径),学习钻通用件,切换框架的成本远比你想象低。
问题三:小项目用框架是不是杀鸡用牛刀? 看牛刀的保养成本你付不付得起。框架的固定成本是学习与升级;轻量路由加 PDO 的固定成本是自建规范。一次性活动页、内部小工具,轻装上阵完全正当;会长期演进的业务系统,框架的规范红利很快回本。
对照逐条自查,能独立讲清的才算过手:
$next 前后两段的执行时机;fillable 防的是什么攻击面,与 1.7 节哪条原则同源;