php - Laravel 合约与服务提供商

标签 php laravel laravel-5

我如何实现 Laravel 合约和服务提供商?

我有一个类 Cart 及其方法 buy ,该类当然将包含我的大多数 Controller 将依赖的程序结构。 如何有效管理该类在其他 Controller 之间的依赖注入(inject)?

最佳答案

您可以简单地在 Controller 中引用该类作为依赖项。即使您不使用接口(interface),它也会被实例化。

<?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;
    }
}

如果您要使用接口(interface),只需确保您的类实现它,然后简单地从任何服务提供者的 app 实例中调用 bind 方法即可。

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

关于php - Laravel 合约与服务提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34753803/

相关文章:

php - PHP 中用括号括起来的数组(数组)

javascript - 使用ajax在多个页面中发表帖子

Laravel:唯一支持的密码是具有正确 key 长度的 AES-128-CBC 和 AES-256-CBC

php - 需要从多个具有动态用户 ID 的表插入产品表

php - 在 Ubuntu 上安装 Laravel/Homestead

php - PHP 中的 if 条件如何写?

php - 在 php laravel 中运行原始 sql

javascript - 如何将变量数据传递给 View

php - laravel 资源 Controller /路由和模型

jquery - 如何从服务器发送多个参数到js map