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 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 1

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

8年前 评论

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