Thiemo Mättig (WMDE) has uploaded a new change for review.
https://gerrit.wikimedia.org/r/199849
Change subject: Add array type hints to minor methods in the Html class
......................................................................
Add array type hints to minor methods in the Html class
I'm aware that adding these type hints does have the potential of beeing
a breaking change if a caller misuses it. Note that it really is a misuse
in this case because all these parameters are documented as "array" and
nothing else.
I double-checked the usages of all methods I touched and could not find
any caller that does not fulfill the contract of these methods - in other
words, all callers I can find in my local code base (which includes all
major extensions like Echo, Flow, Parsoid, VisualEditor and so on) pass
arrays to these parameters.
I left the main methods openElement, rawElement and so on untouched
because they are called way to often (500 times and more).
Change-Id: I5ca13b26fb08d732ce4cadc4ee3d38314e606fd3
---
M includes/Html.php
1 file changed, 11 insertions(+), 16 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/49/199849/1
diff --git a/includes/Html.php b/includes/Html.php
index 6bd661f..606e0db 100644
--- a/includes/Html.php
+++ b/includes/Html.php
@@ -109,7 +109,7 @@
* @see https://tools.wmflabs.org/styleguide/desktop/index.html for
guidance on available modifiers
* @return array $attrs A modified attribute array
*/
- public static function buttonAttributes( $attrs, $modifiers = array() )
{
+ public static function buttonAttributes( array $attrs, array $modifiers
= array() ) {
global $wgUseMediaWikiUIEverywhere;
if ( $wgUseMediaWikiUIEverywhere ) {
if ( isset( $attrs['class'] ) ) {
@@ -137,11 +137,8 @@
* @param array $attrs An attribute array.
* @return array $attrs A modified attribute array
*/
- public static function getTextInputAttributes( $attrs ) {
+ public static function getTextInputAttributes( array $attrs ) {
global $wgUseMediaWikiUIEverywhere;
- if ( !$attrs ) {
- $attrs = array();
- }
if ( $wgUseMediaWikiUIEverywhere ) {
if ( isset( $attrs['class'] ) ) {
if ( is_array( $attrs['class'] ) ) {
@@ -169,7 +166,7 @@
* @see http://tools.wmflabs.org/styleguide/desktop/index.html for
guidance on available modifiers
* @return string Raw HTML
*/
- public static function linkButton( $contents, $attrs, $modifiers =
array() ) {
+ public static function linkButton( $contents, array $attrs, array
$modifiers = array() ) {
return Html::element( 'a',
self::buttonAttributes( $attrs, $modifiers ),
$contents
@@ -189,7 +186,7 @@
* @see http://tools.wmflabs.org/styleguide/desktop/index.html for
guidance on available modifiers
* @return string Raw HTML
*/
- public static function submitButton( $contents, $attrs, $modifiers =
array() ) {
+ public static function submitButton( $contents, array $attrs, array
$modifiers = array() ) {
$attrs['type'] = 'submit';
$attrs['value'] = $contents;
return Html::element( 'input', self::buttonAttributes( $attrs,
$modifiers ) );
@@ -337,8 +334,7 @@
* further documentation.
* @return array An array of attributes functionally identical to
$attribs
*/
- private static function dropDefaults( $element, $attribs ) {
-
+ private static function dropDefaults( $element, array $attribs ) {
// Whenever altering this array, please provide a covering test
case
// in HtmlTest::provideElementsWithAttributesHavingDefaultValues
static $attribDefaults = array(
@@ -485,11 +481,10 @@
* @return string HTML fragment that goes between element name and '>'
* (starting with a space if at least one attribute is output)
*/
- public static function expandAttributes( $attribs ) {
+ public static function expandAttributes( array $attribs ) {
global $wgWellFormedXml;
$ret = '';
- $attribs = (array)$attribs;
foreach ( $attribs as $key => $value ) {
// Support intuitive array( 'checked' => true/false )
form
if ( $value === false || is_null( $value ) ) {
@@ -711,7 +706,7 @@
* attributes, passed to Html::element()
* @return string Raw HTML
*/
- public static function input( $name, $value = '', $type = 'text',
$attribs = array() ) {
+ public static function input( $name, $value = '', $type = 'text', array
$attribs = array() ) {
$attribs['type'] = $type;
$attribs['value'] = $value;
$attribs['name'] = $name;
@@ -791,7 +786,7 @@
* attributes, passed to Html::element()
* @return string Raw HTML
*/
- public static function hidden( $name, $value, $attribs = array() ) {
+ public static function hidden( $name, $value, array $attribs = array()
) {
return self::input( $name, $value, 'hidden', $attribs );
}
@@ -807,7 +802,7 @@
* attributes, passed to Html::element()
* @return string Raw HTML
*/
- public static function textarea( $name, $value = '', $attribs = array()
) {
+ public static function textarea( $name, $value = '', array $attribs =
array() ) {
$attribs['name'] = $name;
if ( substr( $value, 0, 1 ) == "\n" ) {
@@ -934,7 +929,7 @@
* attributes, passed to Html::element() of html tag.
* @return string Raw HTML
*/
- public static function htmlHeader( $attribs = array() ) {
+ public static function htmlHeader( array $attribs = array() ) {
$ret = '';
global $wgHtml5Version, $wgMimeType, $wgXhtmlNamespaces;
@@ -1029,7 +1024,7 @@
* @param string[] $urls
* @return string
*/
- static function srcSet( $urls ) {
+ static function srcSet( array $urls ) {
$candidates = array();
foreach ( $urls as $density => $url ) {
// Image candidate syntax per current whatwg live spec,
2012-09-23:
--
To view, visit https://gerrit.wikimedia.org/r/199849
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I5ca13b26fb08d732ce4cadc4ee3d38314e606fd3
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits