Laravel Contracts Vs服务提供商

时间:2016-01-12 21:06:29

标签: php laravel laravel-5

我如何实施laravel合同和服务提供商?

我有一个类购物车及其方法购买,该类当然包含我的程序结构,我的大多数控制器将依赖它。 如何在其他控制器中有效地管理此类的依赖注入?

1 个答案:

答案 0 :(得分:2)

您可以简单地将该类作为依赖项引用到控制器中。即使您不使用接口,它也会被实例化。

<?php

namespace App\Http\Controllers;

use App\Users\Repository as UserRepository;

class UserController extends Controller
{
    /**
     * The user repository instance.
     */
    protected $users;

    /**
     * Create a new controller instance.
     *
     * @param  UserRepository  $users
     * @return void
     */
    public function __construct(UserRepository $users)
    {
        $this->users = $users;
    }
}

如果您要使用接口,请确保您的类实现它,并且只需调用使用任何服务提供商中app实例的bind方法。

$this->app->bind(UserRepository::class, EloquentUserRepository::class);