ChannelFeed now marked as an abstract class
authorAntoine Musso <hashar@free.fr>
Tue, 10 Jul 2012 11:14:07 +0000 (13:14 +0200)
committerReedy <reedy@wikimedia.org>
Tue, 10 Jul 2012 16:06:59 +0000 (17:06 +0100)
The ChannelFeed class has always been considered as an abstract class.
Looks like we forgot to update its definition since PHP switched to
support class abstractions.

Also marked abstract the three inner methods that must be extended:

 ChannelFeed::outHeader()
 ChannelFeed::outItem()
 ChannelFeed::outFooter()

Change-Id: Ie0111786af37531d53ee3fc845e0125136ca298f

includes/Feed.php

index 8e8f5de..f9dbf5b 100644 (file)
@@ -183,29 +183,35 @@ class FeedItem {
  * @todo document (needs one-sentence top-level class description).
  * @ingroup Feed
  */
-class ChannelFeed extends FeedItem {
+abstract class ChannelFeed extends FeedItem {
        /**
         * Generate Header of the feed
+        * @par Example:
+        * @code
+        * print "<feed>";
+        * @endcode
+        * @param $item
         */
-       function outHeader() {
-               # print "<feed>";
-       }
+       abstract public function outHeader();
 
        /**
         * Generate an item
+        * @par Example:
+        * @code
+        * print "<item>...</item>";
+        * @endcode
         * @param $item
         */
-       function outItem( $item ) {
-               # print "<item>...</item>";
-       }
+       abstract public function outItem( $item );
 
        /**
         * Generate Footer of the feed
+        * @par Example:
+        * @code
+        * print "</feed>";
+        * @endcode
         */
-       function outFooter() {
-               # print "</feed>";
-       }
-       /**#@-*/
+       abstract public function outFooter();
 
        /**
         * Setup and send HTTP headers. Don't send any content;