这是Rob Allen的Zend Framework beta4快速入门教程。如何获取Zend Framework 2 beta4中的服务管理器来创建专辑表的实例?
错误消息:Zend的\的ServiceManager \的ServiceManager ::得到无法获取或专辑表创建一个实例
好像它没有试图使该数据库的连接,但我还没有找到告诉的方式。它使用闭包从ServiceManager返回一个实例,但获取上述错误消息。
module/Album/Module.php
namespace Album;
class Module
{
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
);
}
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
public function getServiceConfiguration()
{
$albumTable = array(
'factories' => array(
'album-table' => function($sm) {
$dbAdapter = $sm->get('db-adapter');
$table = new AlbumTable($dbAdapter);
return $table;
},
),
);
return $albumTable;
}
}
namespace Application;
使用Zend的\ DB \适配器\适配器作为将对DBAdapter,
class Module
{
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
public function getServiceConfiguration()
{
$factoryDBAdaptor = array(
'factories' => array(
'db-adapter' => function($sm) {
$config = $sm->get('config');
$config = $config['db'];
$dbAdapter = new DbAdapter($config);
return $dbAdapter;
},
),
);
return $factoryDBAdaptor;
}
}
配置\自动加载\ global.php
return array(
'db' => array(
'driver' => 'PDO',
'dsn' => 'mysql:dbname=zf2tutorial;hostname=localhost',
'username' => 'user',
'password' => 'password',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
),
),
);
有同样的问题... – 2012-07-06 11:10:04
有同样的问题也 – Developer 2012-07-24 12:28:47
嗨w2wDev做你解决了这个问题,如果是的话,是有帮助的,如果你可以分享您的解决方案 – 125369 2012-07-26 10:56:33