0

我在我的应用程序中使用 zend 类(没有 mvc)。我想将我的适配器实例放入一个容器中并在我的其他类中使用它。这就是我现在所拥有的。

加载.php

$adapter = new Zend\Db\Adapter\Adapter(array(
            'driver'   => 'pdo_mysql',
            'database' => DB_PREFIX.DB_NAME,
            'username' => DB_USER,
            'password' => DB_PW
    ));

我如何在我的其他班级访问 $adapter?

其他类.php

 public class OtherClass{

     function __construct() {       
        //$adapter is needed here
        $this->_model = get_class($this);
        $this->sql = new Sql\Sql($this->dbo);
    }
}

以前在 ZF1 中有一个 Zend::Registry,我可以在其中设置我的变量。然后稍后通过调用 get 方法再次访问它。但是,我在 ZF2 中找不到类似的案例。我尝试使用 ServiceManager,但它似乎不适用于我的场景。

感谢任何专家的建议。

4

1 回答 1

0

ZF2Registry不像 ZF1 那样。相反,我们有所谓的 a ServiceManager。你应该使用这个 SM 将你的依赖注入到你的服务中。

您可以在此处阅读有关 SM 的更多信息 -> http://zf2.readthedocs.org/en/latest/modules/zend.service-manager.intro.html

我建议在 github 上查看 ZfcUser -> https://github.com/ZF-Commons/ZfcUser并查看他们的 Module.php 文件。它可以帮助您更好地理解一个工作示例如何使用 SM 来处理注入。

于 2013-11-10T13:48:00.007 回答