MediaWiki REL1_35
BaseSearchResultSet.php
Go to the documentation of this file.
1<?php
2
15abstract class BaseSearchResultSet implements ISearchResultSet {
16
20 private $bcIterator;
21
27 public function next() {
28 wfDeprecated( __METHOD__, '1.32' );
29 $it = $this->bcIterator();
30 $searchResult = $it->current();
31 $it->next();
32 return $searchResult ?? false;
33 }
34
39 public function rewind() {
40 wfDeprecated( __METHOD__, '1.32' );
41 $this->bcIterator()->rewind();
42 }
43
44 private function bcIterator() {
45 if ( $this->bcIterator === null ) {
46 $this->bcIterator = 'RECURSION';
47 $this->bcIterator = $this->getIterator();
48 } elseif ( $this->bcIterator === 'RECURSION' ) {
49 // Either next/rewind or extractResults must be implemented. This
50 // class was potentially instantiated directly. It should be
51 // abstract with abstract methods to enforce this but that's a
52 // breaking change...
53 wfDeprecated( static::class . ' without implementing extractResults', '1.32' );
54 $this->bcIterator = new ArrayIterator( [] );
55 }
56 return $this->bcIterator;
57 }
58
67 public function termMatches() {
68 return [];
69 }
70
75 public function free() {
76 }
77}
wfDeprecated( $function, $version=false, $component=false, $callerOffset=2)
Logs a warning that $function is deprecated.
BaseSearchResultSet is the base class that must be extended by SearchEngine search result set impleme...
termMatches()
Fetch an array of regular expression fragments for matching the search terms as parsed by this engine...
ArrayIterator null $bcIterator
Iterator supporting BC iteration methods.
free()
Frees the result set, if applicable.
next()
Fetches next search result, or false.
rewind()
Rewind result set back to beginning.
A set of SearchEngine results.