Php Can';我不能解决这个问题。Zend\ServiceManager\ServiceManager::get无法获取或创建Zend\Db\Adapter\Adapter的实例
我正在学习这个ZF2教程,但遇到了这个错误Php Can';我不能解决这个问题。Zend\ServiceManager\ServiceManager::get无法获取或创建Zend\Db\Adapter\Adapter的实例,php,zend-framework2,Php,Zend Framework2,我正在学习这个ZF2教程,但遇到了这个错误 Zend\ServiceManager\ServiceManager::get无法获取或创建Zend\Db\Adapter\Adapter的实例 我尝试了一切,我使用了类似帖子的解决方案,但仍然不起作用 module.php <?php namespace Album; use Zend\ModuleManager\Feature\AutoloaderProviderInterface; use Zend\ModuleManager
Zend\ServiceManager\ServiceManager::get无法获取或创建Zend\Db\Adapter\Adapter的实例
我尝试了一切,我使用了类似帖子的解决方案,但仍然不起作用
module.php
<?php namespace Album;
use Zend\ModuleManager\Feature\AutoloaderProviderInterface;
use Zend\ModuleManager\Feature\ConfigProviderInterface;
use Album\Model\Album;
use Album\Model\AlbumTable;
use Zend\Db\ResultSet\ResultSet;
use Zend\Db\TableGateway\TableGateway;
class Module implements AutoloaderProviderInterface, ConfigProviderInterface
{
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中拥有的是重要的一点。global.php文件在项目中的位置是什么?它位于config/autoload中
<?php
return array(
'db' => array(
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=logowanie1;host=localhost:3306',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
),
),
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter'
=> 'Zend\Db\Adapter\AdapterServiceFactory',
),
),
);