Zend DB适配器和服务管理器

时间:2014-08-06 18:05:19

标签: php zend-framework

我在Zend项目的配置中有以下内容

            'db' => array(
                    'driver'         => 'Pdo',
                    'dsn'            => 'mysql:dbname=food;host=localhost',
                    'username' => 'root',
                    'password' => '',
                    'driver_options' => array(
                            PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
                    )
            ),
            'service_manager' => array(
                    'factories' => array(
                            'Zend\Db\Adapter\Adapter'
                            => 'Zend\Db\Adapter\AdapterServiceFactory',
                    ),
            ),

我正在尝试获取数据库适配器

  

($ adapter = $ adapter = $ this-> getServiceLocator() - > get('Zend \ Db \ Adapter \ Adapter');

     

($ adapter = $ this-> getServiceLocator() - > get('Zend \ Db \ Adapter \ Adapter');

在控制器中,但始终坚持。

  

类:“Zend \ ServiceManager \ Exception \ ServiceNotCreatedException”   文件:   “/path/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php”   line:909 message:“创建时引发了异常   “Zend的\ DB \适配器\适配器”;没有实例返回“

1 个答案:

答案 0 :(得分:0)

  

创建“Zend \ Db \ Adapter \ Adapter”时出现异常;没有实例返回

这可能是你的问题。 __construct方法可以抛出InvalidArgumentExceptiondocs) 您应该尝试自己创建Zend\Db\Adapter\Adapter的实例,并查看是否抛出了异常。