PHPackages                             webgriffe/config-extension - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. webgriffe/config-extension

ActiveMagento-module[Utility &amp; Helpers](/categories/utility)

webgriffe/config-extension
==========================

Magento Config Extension

v3.0.0(8y ago)2043.8k↓25%1OSL-3.0PHP

Since Dec 6Pushed 8y ago10 watchersCompare

[ Source](https://github.com/webgriffe/config-extension)[ Packagist](https://packagist.org/packages/webgriffe/config-extension)[ RSS](/packages/webgriffe-config-extension/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (11)Used By (0)

Webgriffe Config
================

[](#webgriffe-config)

[![Build Status](https://camo.githubusercontent.com/56cbe1db1358cb6097df421c1fafbb0579e43bbd47016510fb160029388073c5/68747470733a2f2f7472617669732d63692e6f72672f7765626772696666652f636f6e6669672d657874656e73696f6e2e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/webgriffe/config-extension)

Magento 1.x extension that improves config system.

Indeed, Magento configuration is driven by database. This, sometimes, is overkill and forces us to maintain upgrade scripts to keep Magento envorinment aligned with features development.

Installation
------------

[](#installation)

To use the version greater or equal than `3.*` of this extension you need to have the Magento core itself managed by [Composer](https://getcomposer.org/) using the Aydin Hassan's [magento-core-composer-installer](https://github.com/AydinHassan/magento-core-composer-installer) and a `magento-core` package like the [Bragento's](https://github.com/bragento/magento-core) `magento/core`.

Indeed the version greater or equal than `3.*` of this extension uses the Cameron Eagans's [composer-patches](https://github.com/cweagans/composer-patches) to apply a patch to the `Mage_Core_Model_Config` to allow configuration override.

If not already installed, add to your project the [Magento Composer Installer](https://github.com/magento-hackathon/magento-composer-installer), and then add the `webgriffe/config-extension` and the `cweagans/composer-patches` packages to your dependencies:

```
composer require --no-update webgriffe/config-extension
composer require --no-update cweagans/composer-patches

```

Then you need to add an `extra` configuration to your `composer.json` file with the patch configuration:

```
"extra": {
    "patches": {
        "magento/core": {
            "Config model patch to allow override": "https://raw.githubusercontent.com/webgriffe/config-extension/master/config-model.patch"
        }
    },
    "composer-exit-on-patch-failure": true
}
```

If you have a different package as Magento core you have to use its name in the `patches` section.

Moreover you have to remove the `magento/core` package from the filesystem so the package is re-installed and then patched.

```
rm -rf vendor/magento/core

```

Finally, you can install the extension:

```
composer update webgriffe/config-extension cweagans/composer-patches

```

Composer should output something like the following during the installation:

```
- Applying patches for magento/core
vendor/webgriffe/config-extension/config-model.patch (Config model patch to allow override)
- MagentoCoreInstaller: Installing: "magento/core" version: "1.9.3.7" to: "magento"

```

Now you should have the extension succesfully installed and the `Mage_Core_Model_Config` patched, look at the `app/code/core/Mage/Core/Model/Config.php` to confirm that it's patched (you should see a patch comment on the class heading).

If you cannot manage the Magento core with Composer you have to use the version `2.*` of this extension but you'll miss the latest features and the installation steps are different and are described on the `README.md` of the `2.x` branch.

Config override
---------------

[](#config-override)

So, this extension enables additional config file that overrides database configuration. The file must be at path `app/etc/config-override.xml.dist`. For example:

```

            	en_US

    	        	it_IT

```

The extension tries also to load the *non-dist* file at `app/etc/config-override.xml` which, if present, extends the `app/etc/config-override.xml.dist`. In this way you can put the `app/etc/config-override.xml.dist` file under version control to share that configuration with others but ignore the `app/etc/config-override.xml` to have it only on your machine.

Environment specific config
---------------------------

[](#environment-specific-config)

You can set different config based on current environment by defining several environment config files that must be placed in `app/etc` and must be named with the pattern `config-override-{env}.xml.dist` where `{env}` is the current environment (for example `config-override-dev.xml` for `dev` environment or `config-override-prod.xml.dist` for `prod` environment). Environment specific config ovverrides `app/etc/config-override.xml.dist` config explained above. To specify the current environment you must set the environment variable `MAGE_ENVIRONMENT`. For example in Apache virtual host configuration or in the `.htaccess`file you can do:

```
SetEnv MAGE_ENVIRONMENT "dev"

```

Even with environment specific configuration you can use *dist* and *non-dist* files. So you can have `config-override-dev.xml.dist` which can be extended by `config-override-dev.xml`.

EcomDev\_PHPUnit local.xml.phpunit laoding
------------------------------------------

[](#ecomdev_phpunit-localxmlphpunit-laoding)

This extension also allows to load the `local.xml.phpunit` file of the [EcomDev\_PHPUnit](https://github.com/EcomDev/EcomDev_PHPUnit) testing module. To enable this feature the `MAGE_LOAD_ECOMDEV_PHPUNIT_CONFIG` environment variable must be set to `1`. Then using a library like [CgiHttpKernel](https://github.com/igorw/CgiHttpKernel) you can do full acceptance (or functional testing) on a test-dedicated database (which is also used by other EcomDev\_PHPUnit's tests). Have a look at [Webgriffe's Functional Test Trait](https://github.com/webgriffe/functional-test-trait) for more information.

Overridden config values are shown in backend
---------------------------------------------

[](#overridden-config-values-are-shown-in-backend)

Overridden config values are shown in Magento's backend. Every config setting it's shown on its section. For example, if you have the following `config-override.xml` file:

```

            	my-package-name

```

When you'll go to `System -> Configuration -> General -> Design` you'll find the overridden config value shown and not editable.

[![image](admin-screenshot.png)](admin-screenshot.png)

This feature improves a lot the usability of this extension.

To Do
-----

[](#to-do)

- Performance improvements
- Interdependent fields handling
- Password/encrypted fields handling

###  Health Score

38

—

LowBetter than 85% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity36

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity69

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~146 days

Recently: every ~86 days

Total

9

Last Release

3014d ago

Major Versions

1.x-dev → v2.0.02017-02-16

v2.1.2 → v3.0.02018-02-16

### Community

Maintainers

![](https://www.gravatar.com/avatar/eca104631fd7f6aff6d399ca16458c4d9814770756af0ecca22ffe2b1c5704d3?d=identicon)[mmenozzi](/maintainers/mmenozzi)

---

Top Contributors

[![mmenozzi](https://avatars.githubusercontent.com/u/1199914?v=4)](https://github.com/mmenozzi "mmenozzi (41 commits)")

---

Tags

magentomagento-configurationmagento-extensionphp

### Embed Badge

![Health badge](/badges/webgriffe-config-extension/health.svg)

```
[![Health](https://phpackages.com/badges/webgriffe-config-extension/health.svg)](https://phpackages.com/packages/webgriffe-config-extension)
```

###  Alternatives

[khill/fontawesomephp

PHP wrapper library for the fantastic Font Awesome icon set.

4676.3k4](/packages/khill-fontawesomephp)[wireui/breadcrumbs

Breadcrumbs component for Laravel, Livewire, TallStack

3817.0k](/packages/wireui-breadcrumbs)[smithfield-studio/acf-svg-icon-picker

Add ACF field for selecting SVG icons.

3710.8k](/packages/smithfield-studio-acf-svg-icon-picker)[geowrgetudor/laravel-balance

A credit system / balance for Laravel.

217.8k](/packages/geowrgetudor-laravel-balance)[imarc/opus

Multi-framework asset and module packaging for composer

1112.1k3](/packages/imarc-opus)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
