我使用此repo作为使用Eloquent作为ORM的新CLI PHP项目的基础。
当您创建新的Eloquent capsule
时,您可以选择setAsGlobal
,这样可以从代码中的任何位置访问DB胶囊。
这是否意味着使用了Laravel容器?或者这只是影响数据库对象?
我一直在使用pimple作为容器,但如果Laravel已经有了一个可以通过Eloquent绑定的容器,那就简单多了 - 我想绑定一个日志编写器, Eloquent capsule,可能是全局容器的设置对象,因此我可以从任何地方访问它。
答案 0 :(得分:1)
不,它不使用Laravels容器。如果你看一下特质中的方法:( github.com)
public function setAsGlobal()
{
static::$instance = $this;
}
您可以看到它只是在包含当前实例的类上设置静态属性,因此它将被重用于后续调用。
答案 1 :(得分:0)
试试这个解决方案。希望它有所帮助。
https://gist.github.com/reinink/9112262
"require":
{
"illuminate/container": "4.0.*@dev",
}