什么是;已解决";/&引用;解决;这个术语在PHP中的实际含义是什么?

什么是;已解决";/&引用;解决;这个术语在PHP中的实际含义是什么?,php,oop,Php,Oop,我仍在学习PHP,我想理解我不是母语人士并不难 此时此刻,在阅读了大量文档之后,我跳入了深水中,因此我打开了Laravel源文件,一个文件接着一个文件,试图更好地理解MVC的整个实现,包括路由、中间件如何组合成一段高级代码 我见过很多我以前不知道的术语,但有些术语很容易理解,而术语“已解决”和“已解决”让我有点头晕目眩 这到底是什么意思 文件中文档中的几个示例: “刷新容器中的所有绑定和已解析实例。” “已解析类型的数组。” “所有全局解析回调。” “按类类型解析回调后的所有问题。” “按类类型

我仍在学习PHP,我想理解我不是母语人士并不难

此时此刻,在阅读了大量文档之后,我跳入了深水中,因此我打开了Laravel源文件,一个文件接着一个文件,试图更好地理解MVC的整个实现,包括路由、中间件如何组合成一段高级代码

我见过很多我以前不知道的术语,但有些术语很容易理解,而术语“已解决”和“已解决”让我有点头晕目眩

这到底是什么意思

文件中文档中的几个示例:

  • “刷新容器中的所有绑定和已解析实例。”

  • “已解析类型的数组。”

  • “所有全局解析回调。”

  • “按类类型解析回调后的所有问题。”

  • “按类类型解析回调后的所有问题。”

  • 现在我有点困惑,决心,决心在一个简单的翻译中,我的语言意味着安定下来,决定,决定,分离,崩溃,但在代码中它们对我来说没有任何意义

    你能澄清一下解题的意思吗?我觉得一旦我理解了这个术语,一切都会顺利进行

    因此,我打开了Laravel源文件,一个接一个地查看,试图更好地理解MVC的整个实现是如何包括路由、中间件以及如何组合成一段高级代码的

    有一种更好的方法可以理解框架源代码。使用调试器

    以任何简单的应用程序为例,设置XDebug并完成请求处理的整个过程

    首先跳过细节,找出请求处理涉及到哪些类和方法,然后您可以越来越深入

    至少对我来说,这种方式比仅仅阅读源代码要好得多。 你会很快发现什么是重要的,什么是不重要的,并将能够集中精力在重要的部分

    现在让我们回到您的
    解决方案
    问题:

    “刷新容器中的所有绑定和已解析实例。”

    这是源文件-。 以及相关文档:

    实际上,要理解源代码,首先需要理解文档中的概念。 在本例中,他们讨论的是依赖项注入容器,您需要了解它是如何工作的:

    • 我们定义依赖项,例如
      public function\uu构造(FooBar$dependency)
    • 我们不直接传递这些依赖项:我们不做
      $foo=newfoobar$对象=新的MyObject($foo);相反,我们配置了Laravel的服务容器,它为我们解决了这些依赖关系
    • 因此,
      解析
      这里是当我们询问服务容器:“请给我们FooBar”时的过程,它通过它的内部注册表,找出(解析)实际应该创建的对象
    我们为什么要这样做?因为我们不想硬编码依赖项

    例如,您可以拥有一个依赖于
    Mailer
    的类。 在生产中,您希望此
    Mailer
    成为
    SMTPMailer
    ,在测试时,您希望使用
    MockMailer
    将电子邮件写入文件

    因此,您可以将Laravel服务容器配置为在本地将
    Mailer
    解析为
    MockMailer
    ,并在生产时将其解析为
    SMTPMailer

                                      ---  resolution process ------
                                      |                            |
                                         ---------------------
                                         |                   |         ----------------
    --------------------------------     |     Container     |    ---->|  SMTPMailer  |
    | MyObject                     |     |                   |   /     ----------------
    |                              |     |   | internal |    |  /
    | __construct(Mailer $mailer) -|---->|   | registry |-------       ----------------
    |                              |     |   |          |    |         |  MockMailer  |
    -------------------------------      |                   |         ----------------
                                         ---------------------
    
    MyObject
    中,我们定义了一些抽象的
    Mailer
    依赖项,然后由
    容器将其解析为
    SMTPMailer
    MockMailer
    ,具体取决于配置

    查看中的更多用法示例和说明

    “已解析类型的数组。”

    这是我们之前请求的一个类型数组(比如FooBar),已经解析过了(我们已经知道实际的类映射到
    FooBar

    “所有全局解析回调。”

    这是一个回调数组,用于解析依赖关系-这是Laravel内部注册表的一部分

    “按类类型解析回调后的所有问题。”

    这些是在解析完成时调用的回调。
    这可能与文档中的本节有关-。

    非常好的解释。非常感谢。