Это учебное пособие Роба Аллена «Краткое руководство для Zend Framework beta4».Как мне получить Service Manager в Zend Framework 2 beta4 для создания экземпляра для альбома?
Сообщение об ошибке: Zend \ ServiceManager \ ServiceManager :: получить не удалось извлечь или создать экземпляр для альбома стола
Похоже, он не пытается установить соединение с БД, но я не нашел способ рассказать. Он использует закрытие для возврата экземпляра из ServiceManager, но получает указанное выше сообщение об ошибке.
модуль/Альбом/module.php
пространство имен Альбом;
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;
}
}
пространство имен Применение;
использование 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\''
),
),
);
Имея тот же вопрос ... –
Имея тот же выпуск слишком – Developer
Привет w2wDev сделали вы решили эту проблему, в случае, если да, то было бы полезно, если бы вы могли бы поделиться своим решением – 125369