Merge "Deprecate overriding SearchEngine::search*"
[lhc/web/wiklou.git] / includes / search / SearchEngine.php
index 0f65711..bd48e21 100644 (file)
@@ -69,12 +69,25 @@ abstract class SearchEngine {
        /**
         * Perform a full text search query and return a result set.
         * If full text searches are not supported or disabled, return null.
-        * STUB
+        *
+        * As of 1.32 overriding this function is deprecated. It will
+        * be converted to final in 1.34. Override self::doSearchText().
+        *
+        * @param string $term Raw search term
+        * @return SearchResultSet|Status|null
+        */
+       public function searchText( $term ) {
+               return $this->doSearchText( $term );
+       }
+
+       /**
+        * Perform a full text search query and return a result set.
         *
         * @param string $term Raw search term
         * @return SearchResultSet|Status|null
+        * @since 1.32
         */
-       function searchText( $term ) {
+       protected function doSearchText( $term ) {
                return null;
        }
 
@@ -85,11 +98,25 @@ abstract class SearchEngine {
         * The results returned by this methods are only sugegstions and
         * may not end up being shown to the user.
         *
+        * As of 1.32 overriding this function is deprecated. It will
+        * be converted to final in 1.34. Override self::doSearchArchiveTitle().
+        *
         * @param string $term Raw search term
         * @return Status<Title[]>
         * @since 1.29
         */
-       function searchArchiveTitle( $term ) {
+       public function searchArchiveTitle( $term ) {
+               return $this->doSearchArchiveTitle( $term );
+       }
+
+       /**
+        * Perform a title search in the article archive.
+        *
+        * @param string $term Raw search term
+        * @return Status<Title[]>
+        * @since 1.32
+        */
+       protected function doSearchArchiveTitle( $term ) {
                return Status::newGood( [] );
        }
 
@@ -98,10 +125,24 @@ abstract class SearchEngine {
         * If title searches are not supported or disabled, return null.
         * STUB
         *
+        * As of 1.32 overriding this function is deprecated. It will
+        * be converted to final in 1.34. Override self::doSearchTitle().
+        *
+        * @param string $term Raw search term
+        * @return SearchResultSet|null
+        */
+       public function searchTitle( $term ) {
+               return $this->doSearchTitle( $term );
+       }
+
+       /**
+        * Perform a title-only search query and return a result set.
+        *
         * @param string $term Raw search term
         * @return SearchResultSet|null
+        * @since 1.32
         */
-       function searchTitle( $term ) {
+       protected function doSearchTitle( $term ) {
                return null;
        }