MediaWiki REL1_37
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 // @phan-suppress-previous-line PhanTypeComparisonFromArray Use of string is a hack
50 // Either next/rewind or extractResults must be implemented. This
51 // class was potentially instantiated directly. It should be
52 // abstract with abstract methods to enforce this but that's a
53 // breaking change...
54 wfDeprecated( static::class . ' without implementing extractResults', '1.32' );
55 $this->bcIterator = new ArrayIterator( [] );
56 }
57 return $this->bcIterator;
58 }
59
68 public function termMatches() {
69 return [];
70 }
71
76 public function free() {
77 }
78}
wfDeprecated( $function, $version=false, $component=false, $callerOffset=2)
Logs a warning that a deprecated feature was used.
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.