错误无法解析的依赖解析 [Parameter #0 [ <required> $session ]] 包 darryldecode / laravelshoppingcart

时间:2021-04-25 08:17:14

标签: laravel shopping-cart

我正在尝试在我的 Laravel 应用中实现 darryldecode/laravelshoppingcart。它在 laravel 7 上工作正常,但现在我无法让它工作。我收到的错误是:

<块引用>
Illuminate\Contracts\Container\BindingResolutionException
Unresolvable dependency resolving [Parameter #0 [ <required> $session ]] in class Darryldecode\Cart\Cart

我们在考虑 https://github.com/darryldecode/laravelshoppingcart#instances 准则的情况下开发了一个 cartserviceprovider,并在服务提供商处使用以下代码:

public function register()
{
    $this->app->singleton(Cart::class, function ($app) {
        return new Cart(
            $app['session'],
            $app['events'],
            'cart',
            session()->getId()
        );
    });

    $this->app->alias(Cart::class, 'cart');
}

Darryldecode\Cart\Cart 库显示以下代码以符合要求:

public function __construct($session, $events, $instanceName, $session_key, $config)
{
    $this->events = $events;
    $this->session = $session;
    $this->instanceName = $instanceName;
    $this->sessionKey = $session_key;
    $this->sessionKeyCartItems = $this->sessionKey . '_cart_items';
    $this->sessionKeyCartConditions = $this->sessionKey . '_cart_conditions';
    $this->config = $config;
    $this->currentItem = null;
    $this->fireEvent('created');
}

而且我相信 $session 是通过传递单例应用程序->singleton ...... session()->getId()

我用下面的代码实现了一个 Cart 类

class Cart extends DarryldecodeCart implements JsonSerializable
{
    /**
     * Get the current instance.
     *
     * @return $this
     */
    public function instance()
    {
        return $this;
    }

感谢任何指导。

0 个答案:

没有答案