protected function buildBindingProxy($originalCallable)
    {
        $originalCallable = $this->checkAndReturnCallable($originalCallable);

        return function ($laravel) use ($originalCallable) {
            return call_user_func($originalCallable, $this);
        };
    }
protected function buildBindingProxy($originalCallable)
    {
        $originalCallable = $this->checkAndReturnCallable($originalCallable);

        return function ($laravel) use ($originalCallable) {
            return call_user_func($originalCallable, $this);
        };
    }
protected function buildBindingProxy ( $ originalCallable ) { $ originalCallable = $ this -> checkAndReturnCallable ( $ originalCallable ) ; return function ( $ laravel ) use ( $ originalCallable ) { return call_user_func ( $ originalCallable , $ this ) ; } ; }
If you assign a callable to be called to create the desired binding this
container has to be passed to the callable, not laravels.

So every binding have to be proxies through a Closure

@param callable $originalCallable

@return Closure
If you assign a callable to be called to create the desired binding this container has to be passed to the callable not laravels .