Code Duplication    Length = 29-30 lines in 2 locations

src/Database.php 2 locations

@@ 137-165 (lines=29) @@
134
     * @param string $className Class name if we want to create object
135
     * @return array Collection of arrays or objects
136
     */
137
    public function &fetch($sql, $className = null)
138
    {
139
        // Return value
140
        $result = array();
141
142
        if (isset($this->driver)) {
143
            // Store timestamp
144
            $tsLast = microtime(true);
145
146
            try {
147
                // Perform database query
148
                if (!isset($className)) { // Return array
149
                    $result = $this->driver->query($sql)->fetchAll(\PDO::FETCH_ASSOC);
150
                } else { // Create object of passed class name
151
                    $result = $this->driver->query($sql)->fetchAll(\PDO::FETCH_CLASS, $className, array(&$this));
152
                }
153
            } catch (\PDOException $e) {
154
                echo("\n" . $sql . '-' . $e->getMessage());
155
            }
156
157
            // Store queries count
158
            $this->count++;
159
160
            // Count elapsed time
161
            $this->elapsed += microtime(true) - $tsLast;
162
        }
163
164
        return $result;
165
    }
166
167
    /**
168
     * Special accelerated function to retrieve db record fields instead of objects
@@ 217-246 (lines=30) @@
214
     * @param string $className Class name if we want to create object
215
     * @return array|object Record as array or object
216
     */
217
    public function &fetchOne($sql, $className = null)
218
    {
219
        // Return value, configure to return correct type
220
        $result = isset($className) ? new \stdClass() : array();
221
222
        if (isset($this->driver)) {
223
            // Store timestamp
224
            $tsLast = microtime(true);
225
226
            try {
227
                // Perform database query
228
                if (!isset($className)) { // Return array
229
                    $result = $this->driver->query($sql)->fetch(\PDO::FETCH_ASSOC);
230
                } else { // Create object of passed class name
231
                    $result = $this->driver->query($sql)->fetchObject($className, array(&$this));
232
                }
233
234
            } catch (\PDOException $e) {
235
                echo("\n" . $sql . '-' . $e->getMessage());
236
            }
237
238
            // Store queries count
239
            $this->count++;
240
241
            // Count elapsed time
242
            $this->elapsed += microtime(true) - $tsLast;
243
        }
244
245
        return $result;
246
    }
247
248
    public function create($className, &$object = null)
249
    {