51 return MediaWikiServices::getInstance()->getSkinFactory();
67 public function register(
$name, $displayName, $callback ) {
68 if ( !is_callable( $callback ) ) {
69 throw new InvalidArgumentException(
'Invalid callback provided' );
71 $this->factoryFunctions[
$name] = $callback;
72 $this->displayNames[
$name] = $displayName;
82 return $this->displayNames;
93 if ( !isset( $this->factoryFunctions[$name] ) ) {
94 throw new SkinException(
"No registered builder available for $name." );
96 $skin = call_user_func( $this->factoryFunctions[$name], $name );
97 if ( $skin instanceof
Skin ) {
100 throw new UnexpectedValueException(
"The builder for $name returned a non-Skin object." );
Exceptions for skin-related failures.
Factory class to create Skin objects.
makeSkin( $name)
Create a given Skin using the registered callback for $name.
array $factoryFunctions
Map of name => callback.
array $displayNames
Map of name => fallback human-readable name, used when the 'skinname-<skin>' message is not available...
getSkinNames()
Returns an associative array of: skin name => human readable name.
static getDefaultInstance()
The main skin class which provides methods and properties for all other skins.
Allows to change the fields on the form that will be generated $name
null means default in associative array with keys and values unescaped Should be merged with default with a value of false meaning to suppress the attribute in associative array with keys and values unescaped noclasses just before the function returns a value If you return an< a > element with HTML attributes $attribs and contents $html will be returned If you return $ret will be returned $skin