コンストラクター注入を使用する以外にDbAdapter
、テーブル名を設定する別の方法はありますか?TableGateway
以下のクラスを拡張することでそれを実現しましたAbstractTableGateway
が、このロジックを最上位の構成に移動し、不要なので削除したいと考えています。
namespace Application\Repository;
use Zend\Db\TableGateway\AbstractTableGateway;
use Zend\Db\Adapter\AdapterAwareInterface;
use Zend\Db\Adapter\Adapter;
abstract class AbstractRepository extends AbstractTableGateway implements AdapterAwareInterface
{
public function setDbAdapter(Adapter $adapter) {
$this->table = preg_replace('/.*\\\([a-zA-Z]+)Repository/', '$1', get_class($this));
$this->table = strtolower($this->table);
$this->adapter = $adapter;
$this->initialize();
}
}