config.xml vs local.xml


17

Quelle est la différence entre app / etc / config.xml et app / etc / local.xml ?

J'ai l'impression que certaines configurations sont dupliquées. Je dois toujours gérer w / local.xml, alors quel est le but d'avoir toutes ces autres choses dans config.xml et quand est-il utilisé?

Réponses:


15

config.xml et local.xml sont chargés ensemble, avec tout autre fichier xml dans lequel vous placez app/local. Ils sont chargés dansMage_Core_Model_Config::loadBase()

public function loadBase()
    {
        $etcDir = $this->getOptions()->getEtcDir();
        $files = glob($etcDir.DS.'*.xml');
        $this->loadFile(current($files));
        while ($file = next($files)) {
            $merge = clone $this->_prototype;
            $merge->loadFile($file);
            $this->extend($merge);
        }
        if (in_array($etcDir.DS.'local.xml', $files)) {
            $this->_isLocalConfigLoaded = true;
        }
        return $this;
    } 

Magento fonctionnera si vous déplacez le contenu de config.xml vers local.xml et supprimez entièrement config.xml.
Cette séparation existe pour une raison.
config.xml contient (appelons-les) des paramètres qui ne dépendent pas de l'environnement dans lequel Magento est installé.
local.xml contient des paramètres dépendants de l'environnement: connexion DB, moteur de cache, clé de chiffrement, gestionnaire de session.
De cette façon, une partie des paramètres peut être versionnée (config.xml) et vous n'avez qu'un petit fichier en fonction de l'environnement.


4
Pendant la mise à niveau, config.xml sera également remplacé et local.xml ne le sera pas. Enfin, local.xml est en fait chargé deux fois, au début et à la fin de l'analyse de la configuration. Puisqu'il est tout fusionné dans un objet de configuration, tout ce que vous mettez dans local.xml remplacera toute autre configuration dans n'importe quel module.
Petar Dzhambazov

4
@PetarDzhambazov "à la fin de l'analyse de la configuration" n'est pas entièrement correct / clair, car les valeurs de core_config_datasont analysées et fusionnées après local.xml .
benmarks
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.