MSIPO技术圈 首页 IT技术 查看内容

laravel(源码笔记)控制器解析过程

2024-03-26

控制器

  1. isControllerAction
  2. runController
    1. parseControllerCallback = Str::parseCallback($this->action[‘uses’]); 可能返回Controller@actionCallback或者只有回调callback
    2. getController
      1. parseControllerCallback()[0]
      2. 返回控制器实例
    3. getControllerMethod parseControllerCallback()[1]
    4. ControllerDispatcher/dispatch
      1. resolveClassMethodDependencies 解析依赖参数
        1. RouteDependencyResolverTrait/resolveClassMethodDependencies
        2. resolveMethodDependencies
          1. 循环解析依赖 transformDependency 转换依赖,如果现有的参数中不存在,则查看是否有默认值,有就获取默认值,没有则实例化对象返回。
          2. 实例不为空,则添加到原有参数中。
          3. 如果为空,并且传入的参数数量不够形参的数量,但是有默认值,则加入到参数数组中(处理可选参数)
      2. 存在callAction方法则返回指向该方法的结果
      3. 返回正常调用的结果

相关阅读

热门文章

    手机版|MSIPO技术圈 皖ICP备19022944号-2

    Copyright © 2024, msipo.com

    返回顶部