gpt4 book ai didi

Laravel 服务容器和服务提供者

转载 作者:行者123 更新时间:2023-12-03 23:21:29 25 4
gpt4 key购买 nike

需要通过一个例子来了解 Laravel 服务容器和服务提供者。

最佳答案

您好,欢迎来到 stackoverflow!

服务容器是我们申请的地方bindings被存储。和 服务商是我们将绑定(bind)注册到 的类服务容器 .在旧版本的 Laravel 中,我们没有这些提供程序,人们总是询问将绑定(bind)放在哪里。答案令人困惑。 “最有意义的地方。”!然后,Laravel 介绍了这些 服务商和 Providers 目录为人们清理事情。

为了便于理解,我将包含一个基本示例:

interface AcmeInterface {
public function sayHi();
}

class AcmeImplementation implements AcmeInterface {
public function sayHi() {
echo 'Hi!';
}
}

// Service Container
$app = new \Illuminate\Database\Container;

// Some required stuff that are also service providing lines
// for app config and app itself.

$app->singleton('app', 'Illuminate\Container\Container');
$app->singleton('config', 'Illuminate\Config\Repository');

// Our Example Service Provider
$app->bind(AcmeInterface::class, AcmeImplementation::class);

// Example Usage:
$implementation = $app->make(AcmeInterface::class);
$implementation->sayHi();

如你所见;
  • 首先我们创建容器(在现实生活中,Laravel 在 bootstrap/app.php 中为我们做这件事),
  • 然后我们注册我们的服务(在我们的 服务提供者 类和 config/app.php 中),
  • 最后,我们获取并使用我们注册的服务。 (内部 Controller 、模型、服务..)
  • 关于Laravel 服务容器和服务提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54018582/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com