Laravel 的 type-hint auto injection 原理探究

看到Laravel的controller构造函数不用实例化时候传参数就能取到type-hinted的对象的实力,虽说知道这样用不会错,但是不知道怎么实现的,用起来就是不太爽。

在Conainer.php中有个getDependencies($parameters, array $primitives = array()) 方法,该方法的第一个参数$parameters 是个有ReflectionParameter 对象构成的数组,之后通过ReflectionParameter::getClass取出type hinted class,基本原理就是这样。

http://php.net/manual/en/reflectionparamet...
这个特性虽然方便了,但总感觉让代码变得隐晦,容易出bug,并且还不容易察觉。

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

你担心的问题是Laravel开发者需要保证的,你只管这样去用

8年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!