首先介绍一下。我正在使用wamp和ZF-Skeleton-Application在:
www\firstApplication
所以我浏览了ZF-Website的第一个教程应用程序。这包括模块Album,因此浏览器通过以下路径指向它:
http://localhost/firstApplication/public/album
我得到了
Zend\Db\Adapter\Exception\InvalidQueryException
说... ...
Statement could not be executed (42S02 - 1146 - Table 'blog.album' doesn't exist)
该啧啧还包括
的更改config\autoload\global.php
中包含以下代码:
'db' => array(
'driver' => 'Pdo',
'username' => 'root', //edit this
'password' => '', //edit this
'dsn' => 'mysql:dbname=zf2tutorial;host=localhost',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
),
),
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory',
),
),
在我遵循第二个深入教程之后,这是一个问题因为设置是全局的,所以我对它进行了评论。
该模块具有以下结构:
module/
Album/
config/
module.config.php
src/
Album/
Controller/
AlbumController.php
Form/
AlbumForm.php
Model/
Album.php
AlbumTable.php
view/
album/
album/
add.phtml
delete.phtml
edit.phtml
index.phtml
autoload_classmap.php
Module.php
我把上面的设置放在module.config.php中,它导致了博客数据库的异常,我在另一个名为Blog的博客(深入研究中)。
所以我检查了global.php和local.php(在同一个文件夹中)。没有数据库引用。
我还检查了模块中的所有文件。 autoload_classmap.php为空。我也试过把它放在那里,但它仍然是同样的错误。
所以我不知道在哪里搜索导致另一个模块的数据库引用。我的最后一个想法是,它在Module.php中使用以下方法:
public function getAutoloaderConfig()
{
return array(
'Zend\Loader\ClassMapAutoloader' => array(
__DIR__ . '/autoload_classmap.php',
),
'Zend\Loader\StandardAutoloader' => array(
'namespaces' => array(
__NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__,
),
),
}
在教程中写道: “Zend Framework 2的ModuleManager合并了每个模块的module.config.php文件中的所有配置,然后合并到config / autoload(* .global.php和* .local.php文件)中的文件中。”
但是global.php和local.php是emtpy,绝对没有任何内容。
感谢您的帮助。