我遵循了为新 ZF2 教程创建的专辑示例。对于第一个模块,一切都很好,我能够修改以显示我想用于我的应用程序的数据。
我的问题是添加第二个模块,更复杂的是,它管理 2 个以上的数据表。每次我访问该页面时,我都会收到 Apache 错误页面,这不是很有帮助。我修改的唯一主要类是第二个模块目录中的 Module.php。也许有人可以看出我的猜测有多么错误。
模块背景:该视图将显示 4 种类型的表格,包括 Fosters 和 Volunteers。我为每个创建了一个模型和表。一切似乎都很好,除了我确实修改了工厂设置以包含每个表(FosterTable 和 VolTable)。你认为这是我的错误吗?
我在这个页面上工作:http: //framework.zend.com/manual/2.0/en/user-guide/database-and-models.html
对于/TeamMgr/Module.php
,我添加了以下内容:
namespace TeamMgr;
use TeamMgr\Model\FosterTable;
use TeamMgr\Model\VolTable;
class Module
{
public function getServiceConfig()
{
return array(
'factories' => array(
'TeamMgr\Model\VolTable' => function($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$table = new VolTable($dbAdapter);
return $table;
},
'TeamMgr\Model\FosterTable' => function($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$table = new FosterTable($dbAdapter);
return $table;
},
),
);
}
public function getConfig()
{
return include __DIR__ . '/config/module.config.php';
}
}
然后在我的控制器中我添加了:
public function indexAction(){
return new ViewModel(array(
'fosters'=>$this->getFosterTable()->fetchAll(),
));
return new ViewModel(array(
'vols'=>$this->getVolTable()->fetchAll(),
));
}
那么我到底有多彻底?