From 4b42896be44f809912831bcfe660bb9ef97f7c1b Mon Sep 17 00:00:00 2001 From: Brad Jorsch Date: Mon, 25 Sep 2017 12:14:55 -0400 Subject: [PATCH] Update documentation for IApiMessage interface It was created for a specific purpose, and apparently this is confusing some people who're inexplicably trying to implement it outside of that purpose. So, this patch more clearly documents that purpose. Change-Id: I638482327370522bedea1ec514ecbb9d98207382 --- includes/api/ApiMessage.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/includes/api/ApiMessage.php b/includes/api/ApiMessage.php index 9e42d5fd73..3347128757 100644 --- a/includes/api/ApiMessage.php +++ b/includes/api/ApiMessage.php @@ -30,6 +30,13 @@ * (see e.g. Title::getUserPermissionsErrors()) and the API has to make do with that. * * @since 1.25 + * @note This interface exists to work around PHP's inheritance, so ApiMessage + * can extend Message and ApiRawMessage can extend RawMessage while still + * allowing an instanceof check for a Message object including this + * functionality. If for some reason you feel the need to implement this + * interface on some other class, that class must also implement all the + * public methods the Message class provides (not just those from + * MessageSpecifier, which as written is fairly useless). * @ingroup API */ interface IApiMessage extends MessageSpecifier { -- 2.20.1