Я следую этому руководству, но получил ошибку Zend \ ServiceManager \ ServiceManager :: get не удалось получить или создать экземпляр для Zend \ Db \ Adapter \ Adapter
У меня есть googling и пробовал все решения, но не повезло. пожалуйста, помогите pppp, я в депрессии: |
FYI: Я использую этот скелет https://github.com/zendframework/ZendSkeletonApplication и уйду. Я не установил zend.
module namespace.
// Add these import statements: use Album\Model\Album; use Album\Model\AlbumTable; use Zend\Db\ResultSet\ResultSet; use Zend\Db\TableGateway\Tabl`enter code here`eGateway; 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 getServiceConfig() { return array( 'factories' => array( 'Album\Model\AlbumTable' => function($sm) { $tableGateway = $sm->get('AlbumTableGateway'); $table = new AlbumTable($tableGateway); return $table; }, 'AlbumTableGateway' => function ($sm) { $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter'); $resultSetPrototype = new ResultSet(); $resultSetPrototype->setArrayObjectPrototype(new Album()); return new TableGateway('album', $dbAdapter, null, $resultSetPrototype); }, ), ); }
}
global.php
return array( 'db' => array( 'driver' => 'Pdo', 'dsn' => 'mysql:dbname=aaa;host=aaa', 'driver_options' => array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\'' ), ), 'service_manager' => array( 'factories' => array( 'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory', ), ),
);
Я прочитал и попробовал: ZF2-get не смог получить или создать экземпляр для getAlbumTable
ServiceNotFoundException в ZendFramework 2, пример Роба Аллена
всегда заканчивается без ясности