ZF2 -参数驱动程序错误缺少实例/对象


ZF2 - Missing instance/object for parameter driver error

我得到zend framework 2应用程序的以下错误消息:

缺少参数驱动程序的实例/对象Zend ' Db '适配器'适配器:__construct(文件:C: ' xampp ' zendfw2 ' ZendSkeletonApplication '供应商' zendframework ' zendframework '图书馆' Zend ' Di ' Di.php: 856)

我的代码如下:自动装载/local.php:

return array(
'di' => array(
    'instance' => array(
        'Zend'Db'Adapter'Adapter' => array(
            'parameters' => array(
                'driver' => 'Zend'Db'Adapter'Driver'Pdo'Pdo',
            ),
        ),
        'Zend'Db'Adapter'Driver'Pdo'Pdo' => array(
            'parameters' => array(
                'connection' => 'Zend'Db'Adapter'Driver'Pdo'Connection',
            ),
        ),
        'Zend'Db'Adapter'Driver'Pdo'Connection' => array(
            'parameters' => array(
                'connectionInfo' => array(
                    'dsn' => "mysql:dbname=zendtest;host=localhost",
                    'username' => 'root',
                    'password' => '',
                    'driver_options' => array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES ''UTF8'''),
                ),
            ),
        ),
    ),
),

);

module.config.php:

return array(
'di' => array(
        'Test2'Model'ManagerAbstract' => array(
            'parameters' => array(
                'adapter'  => 'Zend'Db'Adapter'Adapter',
            ),
        ),
),
...);

ManagerAbstract.php:

namespace Test2'Model;
use Zend'Db'Adapter'Adapter;
use Zend'Db'Adapter'AdapterAwareInterface;
abstract class ManagerAbstract implements AdapterAwareInterface 
{
protected $adapter;
public function setDbAdapter(Adapter $adapter)
{
    $this->adapter = $adapter;
}
public function getUserList() {
    $sql = new Sql($this->adapter);
    $select = $sql->select();
    $select->from(array('u'=>'tsrv_user'));
    $select->where(array('username' => $username));
    $statement = $sql->prepareStatementForSqlObject($select);
    $results = $statement->execute();
    return $results;
}
}

User.php:

namespace Test2'Model;
class User extends ManagerAbstract
{
public function __construct() {
}
}

我在控制器中这样调用它:

$di = new Di();
$model = $di->get('Test2'Model'User');
$model->getUserList();

你能帮我指出错误信息的原因吗?

我认为您的Di配置中Zend'Db'Adapter'Adapter的定义不正确。

你可以在这里找到一个正确的方法如何做到这一点:Zend'Db适配器实例化通过Zend框架2 Di.