Skip to content
Filip Š edited this page Nov 13, 2018 · 1 revision

Usage

Making the configuration

Configuration making is possible using ConfigWriter\Config class.

$config = new Config;

It accepts two parameters, data and comment, and both are optional. Data parameter contains pre-set data for configuration and comment contains additional comment (or code) on top of the configuration file.

$config = new Config(
    [
        'username' => 'user',
        'password' => 'pass',
    ],
    <<<EOD
/**
 * The configuration file.
 *
 * It contains configuration data.
 */
EOD;
);

Adding records

Records can be added using ConfigWriter\Config::addRecord() method.

$config->addRecord('application', 'ConfigWriter');

They can also have comments, which will be generated in documentation.

$config->addRecord('application', 'ConfigWriter', 'Application name');

Adding sections

Sections visually and functionally separate multiple records. They can be added using ConfigWriter\Config::addSection() method.

$database = $config->addSection('database', [], 'Database settings');

$database->addRecord('host', 'localhost', 'Database host');
$database->addRecord('port', '3306', 'Database port');

They can also have pre-set data using second parameter.

$config->addSection(
    'database',
    [
        'host' => 'localhost',
        'port' => '3306',
    ],
    'Database settings');

Saving configuration

You can save configuration using ConfigWriter\Config::toString() or ConfigWriter\Config::toFile().

When saving to string, configuration writer is required, and when saving to file, writer will be automatically determined.

$config->toString(new ConfigWriter\Writers\PhpWriter);
$config->toFile('config.php');

Writers can also have specific options for writing.

$config->toFile('config.php', new ConfigWriter\Writers\PhpWriter, ['indentation' => '	']);

The only supported writer is for PHP array, but more writers will be added later.

Clone this wiki locally