MediaWiki
REL1_22
|
00001 <?php 00032 class ORMResult implements ORMIterator { 00033 00037 protected $res; 00038 00042 protected $key; 00043 00047 protected $current; 00048 00052 protected $table; 00053 00058 public function __construct( IORMTable $table, ResultWrapper $res ) { 00059 $this->table = $table; 00060 $this->res = $res; 00061 $this->key = 0; 00062 $this->setCurrent( $this->res->current() ); 00063 } 00064 00068 protected function setCurrent( $row ) { 00069 if ( $row === false ) { 00070 $this->current = false; 00071 } else { 00072 $this->current = $this->table->newRowFromDBResult( $row ); 00073 } 00074 } 00075 00079 public function count() { 00080 return $this->res->numRows(); 00081 } 00082 00086 public function isEmpty() { 00087 return $this->res->numRows() === 0; 00088 } 00089 00093 public function current() { 00094 return $this->current; 00095 } 00096 00100 public function key() { 00101 return $this->key; 00102 } 00103 00104 public function next() { 00105 $row = $this->res->next(); 00106 $this->setCurrent( $row ); 00107 $this->key++; 00108 } 00109 00110 public function rewind() { 00111 $this->res->rewind(); 00112 $this->key = 0; 00113 $this->setCurrent( $this->res->current() ); 00114 } 00115 00119 public function valid() { 00120 return $this->current !== false; 00121 } 00122 00123 }