26use Wikimedia\Assert\Assert;
57 public function has( $name, $alsoPrivate =
false ) {
58 return isset( $this->configItems[
'public'][$name] ) ||
59 ( $alsoPrivate && isset( $this->configItems[
'private'][$name] ) );
71 if ( !$this->
has( $name,
true ) ) {
72 throw new \ConfigException(
'The configuration option ' . $name .
' does not exist.' );
74 if ( isset( $this->configItems[
'public'][$name] ) ) {
75 return $this->configItems[
'public'][
$name];
77 return $this->configItems[
'private'][
$name];
91 return array_merge( $this->configItems[
'private'], $this->configItems[
'public'] );
100 return $this->configItems[
'public'];
112 $config = $this->
get(
$name );
113 if ( !isset( $config[
'configregistry'] ) ) {
114 return $config[
'value'];
117 return $this->configFactory->makeConfig( $config[
'configregistry'] )->get( $name );
129 $config = $this->
get(
$name );
130 if ( isset( $config[
'descriptionmsg'] ) ) {
131 return wfMessage( $config[
'descriptionmsg'] )->escaped();
133 if ( isset( $config[
'description'] ) ) {
134 return htmlspecialchars( $config[
'description'] );
155 if ( $this->
has( $name ) ) {
156 throw new \ConfigException(
'A configuration with the name ' . $name .
157 'does already exist. It is provided by: ' .
158 $this->
get( $name )[
'providedby'] );
160 if ( isset( $config[
'public'] ) && $config[
'public'] ) {
161 $this->configItems[
'public'][
$name] = $config;
163 $this->configItems[
'private'][
$name] = $config;
174 public function isEmpty( $includePrivate =
false ) {
175 if ( $includePrivate ) {
176 return empty( $this->configItems[
'private'] ) &&
177 empty( $this->configItems[
'public'] );
179 return empty( $this->configItems[
'public'] );
192 Assert::parameterType( self::class, $other,
'$other' );
194 foreach ( $other->configItems[
'public'] as $name => $otherConfig ) {
195 if ( isset( $this->configItems[
'public'][$name] ) ) {
199 $this->
add( $name, $otherConfig );
201 foreach ( $other->configItems[
'private'] as $name => $otherConfig ) {
202 if ( isset( $this->configItems[
'private'][$name] ) ) {
206 $this->
add( $name, $otherConfig );
210 $other->configItems = [];
Factory class to create Config objects.
An extension or a local will often add custom code to the function with or without a global variable For someone wanting email notification when an article is shown may add
either a unescaped string or a HtmlArmor object after in associative array form externallinks including delete and has completed for all link tables whether this was an auto creation use $formDescriptor instead default is conds Array Extra conditions for the No matching items in log is displayed if loglist is empty msgKey Array If you want a nice box with a set this to the key of the message First element is the message additional optional elements are parameters for the key that are processed with wfMessage() -> params() ->parseAsBlock() - offset Set to overwrite offset parameter in $wgRequest set to '' to unset offset - wrap String Wrap the message in html(usually something like "<div ...>$1</div>"). - flags Integer display flags(NO_ACTION_LINK, NO_EXTRA_USER_LINKS) 'LogException':Called before an exception(or PHP error) is logged. This is meant for integration with external error aggregation services
Allows to change the fields on the form that will be generated $name
The wiki should then use memcached to cache various data To use multiple just add more items to the array To increase the weight of a make its entry a array("192.168.0.1:11211", 2))