Jump to content
MediaWiki

Manual:$wgConf

From mediawiki.org
This page is a translated version of the page Manual:$wgConf and the translation is 100% complete.
Globale objecten: $wgConf
Maak een site-configuratieobject. Wordt niet veel gebruikt in een standaardinstallatie.
Geïntroduceerd in versie:1.5.0 (r9670)
Verwijderd in versie:nog steeds in gebruik
Toegelaten waardes:Niet opgegeven
Standaardwaarde:nieuw SiteConfiguration object.
Andere instellingen: Alfabetisch | Per functie

Details

Maak een site-configuratieobject. Wordt niet veel gebruikt in een standaardinstallatie.

Dit wordt gebruikt op Wikimedia's massa-installatie om een gecentraliseerd configuratiebestand te leveren voor een paar honderd wiki's, met standaardinstellingen per sitegroep en per-wiki overrides.

Op dit moment nodig door Extension:CentralAuth/nl om informatie per-site op te halen, bijvoorbeeld door te linken naar de juiste gebruikerspagina's op elke wiki.

Configuratie

Wiki's zijn gegroepeerd door het achtervoegsel op hun databasenaam; op een grote installatie kunnen er bijvoorbeeld 'enwiki' en 'enwikibooks' zijn, elk in een andere achtervoegselgroep. Achtervoegsels moeten worden gedeclareerd in de suffixes lidvariabele van $wgConf als u $wgConf->siteFromDB() wilt gebruiken.

$wgConf->settings is een array met instellingen. Het formaat is $wgConf->settings['wgSettingName']['wiki'].

Instellingen kunnen worden toegewezen aan (van de meer specifieke naar de minder specifieke, dit is het 'wiki' deel van $wgConf->settings zoals hierboven vermeld):

  • een specifieke DB-naam.
  • een wiki-tag (sinds 1.12.0)
  • een achtervoegsel (bijvoorbeeld 'wiki' of 'wiktionary') om alles in die achtervoegselgroep te beïnvloeden (kan worden bepaald met $wgConf->siteFromDB())
  • 'default' om alle wiki's te beïnvloeden

Voor de stringinstellingen kunt u parameters definiëren die bij het uitpakken van de instellingen worden vervangen. Het kan nuttig zijn wanneer de instelling hetzelfde formaat heeft voor alle wiki's. Het formaat is $naam. Wees voorzichtig met het gebruik van enkele aanhalingstekens (') of om e $ (\$) te escapen of het zal worden vervangen door de PHP-variabele (die op dat moment niet kan worden gedefinieerd).

Callback function

De callback van $wgConf->siteParamsCallback kan worden ingesteld op LocalSettings.php om extra "tags" te berekenen om instellingen te delen over een groep wiki's in een array $wgConf->settings. Deze werken automatisch wanneer instellingen via SiteConfiguration::get() en gerelateerde functies worden opgehaald. De functie callback zal het object SiteConfiguration accepteren als het eerste argument ontvangen en de wiki-id in het tweede argument. Het moet een array teruggeven met een of meer van de volgende optionele keysː

  • suffix: site's suffix (overschrijft $wgConf->siteFromDB())
  • lang: site's lang (overschrijft $wgConf->siteFromDB())
  • tags: reeks wiki-tags (in aanvulling op de standaard tag "suffix")
  • params: array van vervangende parameters (in aanvulling op de standaardparameters "lang" en "site")

Ze worden samengevoegd met de parameters die worden doorgegeven aan SiteConfiguration::get() en soortgelijke functies.

Samenvoegen van instellingen

Arrays kunnen nu worden samengevoegd. Dit kan nuttig zijn voor $wgGroupPermissions . Om ze te gebruiken, moet je bij de key's een "+" voor de instellingen plaatsen die je wilt samenvoegen.

  • Om uw aangepaste versie van de instelling samen te voegen met die in DefaultSettings.php, moet u de naam van de instelling voorvoegen met een + (zoals '+wgGroupPermissions')
  • Om een meer specifiek niveau samen te voegen met een minder specifiek niveau, moet het niveau worden voorafgegaan door een +.

De twee mogelijkheden kunnen samen worden gebruikt.

Het samenvoegen gebeurt in de volgende volgorde:

  1. Databasenaam
  2. Tags (in de volgorde van de extractiemethode, die op dit punt heel goed willekeurig zou kunnen worden)
  3. Wiki achtervoegsel
  4. Standaard

Wanneer een toets wordt aangetroffen die niet voorafgegaan is door een "+", zal de samenvoeging eindigen.

Voorbeeld met $wgGroupPermissions :

$wgConf->settings = [
# ...
# '+' activeert een samenvoeging hiermee en de waarde van $wgGroupPermissions gedefinieerd in DefaultSettings.php
'+wgGroupPermissions' => [
 # Toestaan dat bureaucraten de status van remote wiki's kunnen veranderen en dat anonieme gebruikers pagina's kunnen aanmaken 
 # (dit deel wordt niet samengevoegd met 'default' omdat er geen "+" voor 'centralwiki')
 'centralwiki' => [
 'bureaucrat' => [
 'userrights-interwiki' => true,
 ],
 ],
 # Een wiki met een recht terugdraaien dat aan ingelogde gebruikers is gegeven, het deel 'default' wordt samengevoegd met deze waarde
 # (d.w.z. anonieme gebruikers kunnen geen pagina's aanmaken)
 '+somewiki' => [
 'user' => [
 'rollback' => true,
 ],
 ],
 # Anonieme gebruikers verbieden pagina's aan te maken.
 # Opmerking: de 'default' key mag nooit een "+" voor zich hebben
 'default' => [
 '*' => [
 'createpage' => false,
 'createtalk' => false,
 ],
 ],
],
# ...
];

De basissyntaxis is dus:

$wgConf->settings = [
'wgConfigurationSetting' => [
 'default' => 'defaultvalue',
 'wikidatabasename1' => 'waarde die de standaard voor deze wiki overschrijft',
],
# Om de instellingen die u hier heeft ingesteld te combineren met die in DefaultSettings.php:
'+wgConfigurationSetting' => [
# Opmerking: Dit en DefaultSettings.php zijn NIET hetzelfde! 
# De aangegeven standaardwaarde overschrijft die in DefaultSettings.php en wordt de nieuwe standaard voor al uw wiki's, tenzij u ervoor kiest om het te overschrijven voor een bepaalde wiki, zoals hier voor wikidatabasename1.
 'default' => 'defaultvalue',
 'wikidatabasename1' => 'waarde die de standaard voor deze wiki overschrijft',
],
];

Voorbeeld

In dit voorbeeld worden 3 wiki's gebruikt: dewiki, enwiki en frwiki. Ze staan op http://localhost/$wgDBname/ (d.w.z. http://localhost/dewiki/, http://localhost/enwiki/ en http://localhost/frwiki/).

Het gaat ervan uit dat de $wgDBname al gedefinieerd is.

In dit voorbeeld wordt $wgConf->settings gedeclareerd in InitialiseSettings.php , dit is niet vereist en kan worden gedaan in LocalSettings.php.

InitialiseSettings.php

<?php
$wgConf->settings = [
'wgServer' => [
 # Als u het gebruik van https wilt toestaan, gebruik '//localhost' en stel 'http://localhost' in op 'wgCanonicalServer'
 'default' => 'http://localhost',
],
'wgCanonicalServer' => [
 'default' => 'http://localhost',
],
'wgScriptPath' => [
 'default' => '/$wiki',
],
'wgArticlePath' => [
 'default' => '/$wiki/index.php/1ドル',
],
'wgSitename' => [
 'default' => 'Wikipedia',
 'frwiki' => 'Wikipédia', # met een Frans accent
],
'wgLanguageCode' => [
 'default' => '$lang',
],
'wgLocalInterwiki' => [
 'default' => '$lang',
],
];

LocalSettings.php

$wgLocalDatabases = [
 'dewiki',
 'enwiki',
 'frwiki',
];
$wgConf->wikis = $wgLocalDatabases;
$wgConf->suffixes = [ 'wiki' ];
$wgConf->localVHosts = [ 'localhost' ];
require_once "$IP/InitialiseSettings.php";
function efGetSiteParams( $conf, $wiki ) {
 $site = null;
 $lang = null;
 foreach( $conf->suffixes as $suffix ) {
 if ( substr( $wiki, -strlen( $suffix ) ) === $suffix ) {
 $site = $suffix;
 $lang = substr( $wiki, 0, -strlen( $suffix ) );
 break;
 }
 }
 return [
 'suffix' => $site,
 'lang' => $lang,
 'params' => [
 'lang' => $lang,
 'site' => $site,
 'wiki' => $wiki,
 ],
 'tags' => [],
 ];
}
$wgConf->suffixes = $wgLocalDatabases;
$wgConf->siteParamsCallback = 'efGetSiteParams';
$wgConf->extractAllGlobals( $wgDBname );

Wikimedia-configuratie

Om te zien hoe Wikimedia $wgConf gebruikt om zijn wiki's te configureren zie:

Zie ook

  • Het SiteConfiguration.php bestand heeft een gids over hoe $wgConf werkt die misschien makkelijker te begrijpen is dan deze pagina.

AltStyle によって変換されたページ (->オリジナル) /