让我们想象一下,我们正在开发处理数据库和会话的非常简单的单例Auth类(我们不希望任何其他分解,如auth适配器等)。
如何从这个单身人士课程中提供DI?
当然,最好的方法是将DI实例传递给构造函数,但是如果我想从singleton中获取它呢?我应该使用静态setter方法Auth::setDi($di)
还是有更好的做法?或者我们应该避免单身,因为我们总是有DI存储?
对不起我的英语,我希望我的问题很明确。
答案 0 :(得分:10)
您可以静态访问最新的DI实例:
<?php
$di = Phalcon\DI::getDefault();
http://docs.phalconphp.com/en/latest/reference/di.html#accessing-the-di-in-a-static-way