set database connection
DatabaseProxy 에 의해서 connection 을 변경 한다.
public setConnection ( Xpressengine\Database\VirtualConnectionInterface $connection ) : void | ||
$connection | Xpressengine\Database\VirtualConnectionInterface | database connection |
리턴 | void |
/** * set database connection and options * Dynamic field 는 'id', 'group' 옵션을 갖는다. * 'id' 는 instance id 와 같이 테이블 기준이 아니라 인스턴스 기준으로 * DynamicField 를 사용해야할 때 설정한다.(예: document, comment) * 'group' 은 별도의 명칭을 만들어 사용하고자 할 경우 설정 * * @param VirtualConnectionInterface $conn database connection * @param array $options options * @return void */ public function set(VirtualConnectionInterface $conn, array $options) { $this->handler->setConnection($conn); $this->options = $options; if (isset($this->options['table']) == false) { throw new Exceptions\InvalidOptionException(); } $this->group = $this->options['table']; if (isset($this->options['id'])) { $this->group = $this->options['table'] . '_' . $this->options['id']; } if (isset($this->options['group'])) { $this->group = $this->options['group']; } }
/** * test set connection * * @return void */ public function testSetConnection() { $conn = $this->conn; $configHandler = $this->configHandler; $registerHandler = $this->registerHandler; $view = $this->view; $handler = new DynamicFieldHandler($conn, $configHandler, $registerHandler, $view); $newConn = m::mock('NewConnector', 'Xpressengine\\Database\\VirtualConnectionInterface'); $handler->setConnection($newConn); $this->assertInstanceOf('NewConnector', $handler->connection()); }