在 Provider 中 用singleton() 注册了一个实例为什么不是单例的?

我在Provider中用singleton() 注册了一个实例,为什么不是单例的?每次注入的时候都会调用构造函数。

ExampleProvider.php


class ExampleProvider extends ServiceProvider
{
   public function register()
    {
        $this->app->singleton('App\Example', function () {
            return new Example();
        });
    }
}

routes.php

Route::get('test', function (Example $example) {
    return '';
});
ZewilnearBC

我也发现了这个问题. 同问.

如果通过app()->make的话确实是单例.
但如果通过方法参数注入的话就会生成新对象