我对 Laravel 提供的 IOC 容器和 Facades 所提供的优点感到有些困惑。由于我不是经验丰富的程序员,学习起来也很难以承受。
我想知道这两个示例之间的区别:
1. 通过 `App::bind()` 注册到容器中的'Foo'的外观 2. 通过 `App::singleton()` 注册到容器中的 'Foo' 的外观
据我所知,`Foo::method()` 将被重写为 `$app->make['foo']->method()`,因此在第一个示例中,将创建 `Foo` 类的多个实例,在第二个示例中,由于它使用 `App::singleton()` 绑定,每次调用该对象上的方法时都会返回相同的 `Foo` 实例。
如果这个问题的答案太显然了,我很抱歉,但我找不到任何证实这一点的地方,也没有清晰地解释过。
我想知道这两个示例之间的区别:
1. 通过 `App::bind()` 注册到容器中的'Foo'的外观 2. 通过 `App::singleton()` 注册到容器中的 'Foo' 的外观
据我所知,`Foo::method()` 将被重写为 `$app->make['foo']->method()`,因此在第一个示例中,将创建 `Foo` 类的多个实例,在第二个示例中,由于它使用 `App::singleton()` 绑定,每次调用该对象上的方法时都会返回相同的 `Foo` 实例。
如果这个问题的答案太显然了,我很抱歉,但我找不到任何证实这一点的地方,也没有清晰地解释过。