3

我使用这个repo作为使用 Eloquent 作为 ORM 的新 CLI PHP 项目的基础。

当您创建新的 Eloquent 时capsule,您可以选择setAsGlobal从代码中的任何位置访问 DB Capsule。

这是否意味着正在使用 Laravel 容器?或者这只是影响数据库对象?

我一直在使用pimple作为容器,但是如果 Laravel 已经有一个可以通过 Eloquent 绑定到的容器,那会简单得多——我想绑定一个日志写入器、Eloquent 胶囊,可能还有一个设置对象全局容器,所以我可以从任何地方访问它。

4

2 回答 2

1

不,它不使用 Laravel 容器。如果您查看 trait 中的方法:(github.com

public function setAsGlobal()
{
    static::$instance = $this;
}

您可以看到它只是在包含当前实例的类上设置了一个静态属性,因此它将被重用于后续调用。

于 2015-05-29T16:23:16.527 回答
0

试试这个解决方案。希望能帮助到你。

https://gist.github.com/reinink/9112262

"require":
{
    "illuminate/container": "4.0.*@dev",
}
于 2015-09-24T11:46:32.020 回答