public function beginTrans()
    {
        try {
            return $this->_pdo->beginTransaction();
        } catch (PDOException $e) {
            // when time out, reconnect
            if ($this->_isTimeout($e)) {

                $this->_closeConnection();
                $this->_connect();

                try {
                    return $this->_pdo->beginTransaction();
                } catch (PDOException $e) {
                    throw $e;
                }

            } else {
                throw $e;
            }
        }
    }
public function beginTrans()
    {
        try {
            return $this->_pdo->beginTransaction();
        } catch (PDOException $e) {
            // when time out, reconnect
            if ($this->_isTimeout($e)) {

                $this->_closeConnection();
                $this->_connect();

                try {
                    return $this->_pdo->beginTransaction();
                } catch (PDOException $e) {
                    throw $e;
                }

            } else {
                throw $e;
            }
        }
    }
public function beginTrans ( ) { try { return $ this -> _pdo -> beginTransaction ( ) ; } catch ( PDOException $ e ) { // when time out, reconnect if ( $ this -> _isTimeout ( $ e ) ) { $ this -> _closeConnection ( ) ; $ this -> _connect ( ) ; try { return $ this -> _pdo -> beginTransaction ( ) ; } catch ( PDOException $ e ) { throw $ e ; } } else { throw $ e ; } } }
begin Transaction, add auto reconnect

@return  boolean
@throws  \PDOException
begin Transaction add auto reconnect