original_string: protected function prepare(string $sql, array $params = []): \PDOStatement
      {
          $stmt = $this->handler()->prepare($sql);
          $stmt->execute($params);
  
          $this->log($sql, $params);
  
          return $stmt;
      }
code: protected function prepare(string $sql, array $params = []): \PDOStatement
      {
          $stmt = $this->handler()->prepare($sql);
          $stmt->execute($params);
  
          $this->log($sql, $params);
  
          return $stmt;
      }
code_tokens: protected function prepare ( string $ sql , array $ params = [ ] ) : \ PDOStatement { $ stmt = $ this -> handler ( ) -> prepare ( $ sql ) ; $ stmt -> execute ( $ params ) ; $ this -> log ( $ sql , $ params ) ; return $ stmt ; }
docstring: Prepare SQL query and return PDO Statement
  
  @param  string $sql    SQL query with placeholders
  @param  array  $params params for query placeholders
  
  @todo Switch to PDO::activeQueryString() when it will be possible
  @link https://wiki.php.net/rfc/debugging_pdo_prepared_statement_emulation
  
  @return \PDOStatement
  @throws DbException
docstring_tokens: Prepare SQL query and return PDO Statement