阅读目录
前言
- 前言
- 1 预热
- 2 思考
- 3 答案代码
- 4 好点的版本
- 打印
-
- 3 答案代码
- Laravel 参考文献:
中间件是很多 PHP 框架都提供的功能,在初次认识它的时候我感到惊讶和兴奋。因为它的作用太强大了,在没有中间件之前我们不得不将权限验证和一些公共操作都写在控制器方法里,然后控制器就会变得很臃肿,降低了可读性和可维护性。
但有了中间件我们就可以这些操作都写在中间件里,然后通过使用不同的中间件组合不仅能够实现需求还降低了代码的耦合度。
既然中间件百般好,那它到底是如何实现的呢?
我发现其重点就是要将多个中间件闭包(有些框架中间件并不是通过闭包实现但都属于 callable
的范畴,为了行文方便统称为闭包)通过 array_reduce
或循环的方式将其打包成为一个闭包的过程。