私はもともと、ベータ 1 中に ZF2 が DI を使用してテーブルに注入したことに関して、数か月前にこれについて別のスレッドを作成しましたが、当時はそれが実際には不可能であると考えていました。現在、ZF2 はバージョン 2.0.0 としてリリースされており、DI の代わりに ServiceManager がデフォルトになっています。リファクタリング中の同じ質問があると思います。
DbAdapter を挿入する必要がある 84 個のテーブルがあり、自分自身を複製しているので、より良い方法があるはずです。
public function getServiceConfig()
{
return array(
'factories' => array(
'accountTable' => function ($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$table = new Model\DbTable\AccountTable($dbAdapter);
return $table;
},
'userTable' => function ($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$table = new Model\DbTable\UserTable($dbAdapter);
return $table;
},
// another 82 tables of the above
)
)
}
EventsManager と ServiceManager を使用すると、アプリケーションのインスタンス/リソースを取得する際の立場がわかりません。
ありがとう、ドム