Merge "docs: Fix typo"
[mediawiki.git] / includes / search / SearchResult.php
blob7d1c3d72ae736b0f2a0daa3e67d4546787ddde4b
1 <?php
2 /**
3 * Search engine result
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
15 * You should have received a copy of the GNU General Public License along
16 * with this program; if not, write to the Free Software Foundation, Inc.,
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 * http://www.gnu.org/copyleft/gpl.html
20 * @file
21 * @ingroup Search
24 use MediaWiki\Title\Title;
26 /**
27 * NOTE: this class is being refactored into an abstract base class.
28 * If you extend this class directly, please implement all the methods declared
29 * in RevisionSearchResultTrait or extend RevisionSearchResult.
31 * Once the hard-deprecation period is over (1.36?):
32 * - all methods declared in RevisionSearchResultTrait should be declared
33 * as abstract in this class
34 * - RevisionSearchResultTrait body should be moved to RevisionSearchResult and then removed without
35 * deprecation
36 * - caveat: all classes extending this one may potentially break if they did not properly implement
37 * all the methods.
38 * @ingroup Search
40 class SearchResult {
41 use SearchResultTrait;
42 use RevisionSearchResultTrait;
44 public function __construct() {
45 if ( self::class === static::class ) {
46 wfDeprecated( __METHOD__, '1.34' );
50 /**
51 * Return a new SearchResult and initializes it with a title.
53 * @param Title $title
54 * @param ISearchResultSet|null $parentSet
55 * @return SearchResult
57 public static function newFromTitle( $title, ?ISearchResultSet $parentSet = null ) {
58 $result = new RevisionSearchResult( $title );
59 if ( $parentSet ) {
60 $parentSet->augmentResult( $result );
62 return $result;