MediaWiki REL1_39
GlobalVarConfig.php
Go to the documentation of this file.
1<?php
29class GlobalVarConfig implements Config {
30
35 private $prefix;
36
41 public static function newInstance() {
42 return new GlobalVarConfig();
43 }
44
50 public function __construct( $prefix = 'wg' ) {
51 $this->prefix = $prefix;
52 }
53
57 public function get( $name ) {
58 if ( !$this->has( $name ) ) {
59 throw new ConfigException( __METHOD__ . ": undefined option: '$name'" );
60 }
61 return $this->getWithPrefix( $this->prefix, $name );
62 }
63
67 public function has( $name ) {
68 return $this->hasWithPrefix( $this->prefix, $name );
69 }
70
78 protected function getWithPrefix( $prefix, $name ) {
79 return $GLOBALS[$prefix . $name];
80 }
81
89 protected function hasWithPrefix( $prefix, $name ) {
90 $var = $prefix . $name;
91 // (T317951) Don't call array_key_exists unless we have to, as it's slow
92 // on PHP 8.1+ for $GLOBALS. When the key is set but is explicitly set
93 // to null, we still need to fall back to array_key_exists, but that's
94 // rarer.
95 return isset( $GLOBALS[$var] ) || array_key_exists( $var, $GLOBALS );
96 }
97}
Exceptions for config failures.
Accesses configuration settings from $GLOBALS.
hasWithPrefix( $prefix, $name)
Check if a variable with a given prefix is set.
static newInstance()
Default builder function.
getWithPrefix( $prefix, $name)
Get a variable with a given prefix, if not the defaults.
has( $name)
Check whether a configuration option is set for the given name.bool 1.24
__construct( $prefix='wg')
Interface for configuration instances.
Definition Config.php:30