2017 © Pedro PelĂĄez
 

library zf2-site-config

Site-configuration module for Zend Framework 2

image

eye4web/zf2-site-config

Site-configuration module for Zend Framework 2

  • Sunday, March 11, 2018
  • by Danielss89
  • Repository
  • 4 Watchers
  • 7 Stars
  • 10,998 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 3 Forks
  • 0 Open issues
  • 5 Versions
  • 4 % Grown

The README.md

Eye4web\SiteConfig

Build Status Code Climate Test Coverage Latest Stable Version License Total Downloads, (*1)

Introduction

This modules allows you to easily get site config in all of your files. The module can, out-of-the-box, read config values from the following:, (*2)

  • DoctrineORM
  • Files(supported by \Zend\Config\Reader)
    • ini
    • json
    • xml
    • yaml
    • javaproperties
    • php array

Note: This module does not help you write the config, you have to take care of that yourself., (*3)

Installation

  1. Run the followng composer command:, (*4)

    $ composer require eye4web/zf2-site-config:dev-master
    
  2. Enable it in your application.config.php file., (*5)

    <?php
    return array(
        'modules' => array(
            // ...
            'Eye4web\SiteConfig'
        ),
        // ...
    );
    
  3. Copy config/eye4web.siteconfig.global.php.dist to config/autoload/eye4web.siteconfig.global.php, (*6)

  4. Edit the config to fit your needs, (*7)

Usage

It is very easy to get config values, anywhere in your files., (*8)

View

To get a config value in a view-file(or layout): $this->siteConfig($configKey, $default) $default is optional, (*9)

Controller

To get a config value in a controller: $this->siteConfig($configKey, $default) $default is optional, (*10)

Any file from service-manager

This module comes with an initializer, so to get the SiteConfigService into a file, all you have to do is, (*11)

  • Make your file implement Eye4web\SiteConfig\Service\SiteConfigAwareInterface
  • Use the trait Eye4web\SiteConfig\Service\SiteConfigAwareTrait
namespace YourModule\Service;

use Eye4web\SiteConfig\Service\SiteConfigAwareTrait;
use Eye4web\SiteConfig\Service\SiteConfigAwareInterface;

class YourAwesomeService implements SiteConfigAwareInterface
{
    use SiteConfigAwareTrait;
}
  • Now you can do $this->getSiteConfigService()->get($configKey, $default), $default is optional

Configuration

See config/eye4web.siteconfig.global.php.dist for configurable values, (*12)

Readers

The modules supports many different readers, by deault it uses DoctrineORMReader, (*13)

DoctrineORM

This reader reads config values from your database. This module is setup to use DoctrineORM by default, so all you have to do is
1. Create schema
* Use the doctrine script: php ./vendor/bin/doctrine-module orm:schema-tool:update --force or
* Create the table yourself, see data/sql folder for schema 2. Add your config values to the database. You only have to fill key and value, the rest of the fields are just convenience fields, (*14)

Files

This module uses Zend\Config to read config from files. It can read config from the following file types: * ini * json * xml * yaml * javaproperties * php array, (*15)

To read config from a file, all you have to do is:
1. Create your file and add your config values
2. Edit eye4web.siteconfig.global.php and set the path to your config file, (*16)

You can read config from a single file, but you can also read from multiple files, just use an array of file names instead of a single string, (*17)

Create-your-own

It is very easy to create your own reader, just follow these steps:, (*18)

  1. Create your reader. It must implement Eye4web\SiteConfig\Reader\ReaderInterface
  2. Add your reader to the service-manager
  3. Edit eye4web.siteconfig.global.php and set the name of your reader
  4. Make a pull-request so others can benefit from your reader ;)

The Versions