PHPackages                             magium/mcm-zend-db-factory - 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. [Database &amp; ORM](/categories/database)
4. /
5. magium/mcm-zend-db-factory

ActiveLibrary[Database &amp; ORM](/categories/database)

magium/mcm-zend-db-factory
==========================

A factory for configuring zendframework/zend-db adapters using the Magium Configuration Manager

1.4(9y ago)0201Apache-2.0PHP

Since Mar 20Pushed 9y ago1 watchersCompare

[ Source](https://github.com/magium/mcm-zend-db-factory)[ Packagist](https://packagist.org/packages/magium/mcm-zend-db-factory)[ RSS](/packages/magium-mcm-zend-db-factory/feed)WikiDiscussions master Synced yesterday

READMEChangelog (8)Dependencies (3)Versions (8)Used By (0)

Magium Configuration Manager - Zend DB Adapter
==============================================

[](#magium-configuration-manager---zend-db-adapter)

This is a simple library that allows to configure a Zend DB adapter using the [Magium Configuration Manager](https://github.com/magium/configuration-manager).

Setup
-----

[](#setup)

Using it is really easy.

First install via composer

```
composer require magium/zend-db-factory

```

Then wire your application to use MCM.

```
$factory = new \Magium\Configuration\MagiumConfigurationFactory();
$config = $factory->getManager()->getConfiguration(getenv('ENVIRONMENT'));

$redis = \Magium\ZendDbFactory\ZendDbFactory::factory($config);

```

You can also wire you Zend DI component to work with it:

```
$config = [
    'definition'  => [
        'class' => [
            \Zend\Db\Adapter\Adapter::class => [
                'instantiator' => [
                    \Magium\ZendDbFactory\ZendDbFactory::class,
                    'factory'
                ]
            ],
            Magium\ZendDbFactory\ZendDbFactory::class => [
                'methods'   => [
                    'factory'   => [
                        'config'    => [
                            'type'      => \Magium\Configuration\Config\ConfigurationRepository::class,
                            'required'  => true
                        ]
                    ]
                ]
            ]
        ]
    ]
];
$factory = new \Magium\Configuration\MagiumConfigurationFactory();
$di = new \Zend\Di\Di();
$configuration = new \Zend\Di\Config($config);
$configuration->configure($di);
$di->instanceManager()->addSharedInstance(
    $factory->getManager()->getConfiguration(),
    \Magium\Configuration\Config\ConfigurationRepository::class
);

$adapter = $di->get(\Zend\Db\Adapter\Adapter::class);

```

To Change Settings
------------------

[](#to-change-settings)

Use the MCM configuration manager to change settings. For example, if you are going to use the CLI to make changes you have the following options:

```
[kschroeder@dev ~]$ vendor/configuration-manager magium:configuration:list-keys
Valid configuration keys
database/zenddb/driver

database/zenddb/hostname
        (A string containing a hostname or IP address of the database server. If the database is running on the same host as the PHP application, you may use 'localhost' or '127.0.0.1'.)

database/zenddb/username
        (Account identifier for authenticating a connection to the RDBMS server.)

database/zenddb/password
        (Account password credential for authenticating a connection to the RDBMS server.)

database/zenddb/dbname
        (Database instance name on the RDBMS server.)

database/zenddb/port
        (Some RDBMS servers can accept network connections on a administrator-specified port number.  The port parameter allow you to specify the port to which your PHP application connects, to match the port configured on the RDBMS server.)

database/adapter/charset
        (Specify the charset used for the connection.)

```

If you need to change the configuration to something else:

```
[kschroeder@dev ~]$ vendor/bin/magium-configuration magium:configuration:set database/zenddb/hostname hostname

```

Voila! You're done. No deployment necessary.

###  Health Score

29

—

LowBetter than 60% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity68

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 ~8 days

Total

7

Last Release

3290d ago

Major Versions

0.0.3 → 1.0.02017-03-20

### Community

Maintainers

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

---

Top Contributors

[![kschroeder](https://avatars.githubusercontent.com/u/237332?v=4)](https://github.com/kschroeder "kschroeder (19 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/magium-mcm-zend-db-factory/health.svg)

```
[![Health](https://phpackages.com/badges/magium-mcm-zend-db-factory/health.svg)](https://phpackages.com/packages/magium-mcm-zend-db-factory)
```

PHPackages © 2026

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