Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
// This file is part of Moodle - http://moodle.org/
3
//
4
// Moodle is free software: you can redistribute it and/or modify
5
// it under the terms of the GNU General Public License as published by
6
// the Free Software Foundation, either version 3 of the License, or
7
// (at your option) any later version.
8
//
9
// Moodle is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12
// GNU General Public License for more details.
13
//
14
// You should have received a copy of the GNU General Public License
15
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
16
 
17
/**
18
 * Abstract recordset.
19
 *
20
 * @package    core_dml
21
 * @copyright  2008 Petr Skoda (http://skodak.org)
22
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
23
 */
24
 
25
defined('MOODLE_INTERNAL') || die();
26
 
27
/**
28
 * Abstract class for resultsets returned from database functions.
29
 * This is a simple Iterator with needed recorset closing support.
30
 *
31
 * The difference from old recorset is that the records are returned
32
 * as objects, not arrays. You should use "foreach ($recordset as $record) {}"
33
 * followed by "$recordset->close()".
34
 *
35
 * Do not forget to close all recordsets when they are not needed anymore!
36
 */
37
abstract class moodle_recordset implements Iterator {
38
 
39
    /**
40
     * Returns current record - fields as object properties, lowercase
41
     * @return object
42
     */
43
    //public abstract function current();
44
 
45
    /**
46
     * Returns the key of current row
47
     * @return int current row
48
     */
49
    //public abstract function key();
50
 
51
    /**
52
     * Moves forward to next row
53
     * @return void
54
     */
55
    //public abstract function next();
56
 
57
    /**
58
     * Rewinds are not supported!
59
     * @return void
60
     */
61
    public function rewind(): void {
62
        // no seeking, sorry - let's ignore it ;-)
63
        return;
64
    }
65
 
66
    /**
67
     * Did we reach the end?
68
     * @return boolean
69
     */
70
    //public abstract function valid();
71
 
72
    /**
73
     * Free resources and connections, recordset can not be used anymore.
74
     * @return void
75
     */
76
    abstract public function close();
77
}