Recommend this page to a friend! |
Download |
Info | Documentation | Files | Install with Composer | Download | Reputation | Support forum | Blog | Links |
Ratings | Unique User Downloads | Download Rankings | ||||
Not yet rated by the users | Total: 101 | All time: 9,795 This week: 206 |
Version | License | PHP version | Categories | |||
config-writer 2 | MIT/X Consortium ... | 5 | PHP 5, Code Generation, Configuration |
Description | Author | |
This package can generate configuration files as PHP scripts. |
[![Latest Stable Version][icon-stable-version]][link-packagist] [![Latest Untable Version][icon-unstable-version]][link-packagist] [![Total Downloads][icon-downloads]][link-packagist] [![License][icon-license]][link-license] [![PHP][icon-php]][link-php]
[![Linux Build Status][icon-travis]][link-travis] [![Windows Build Status][icon-appveyor]][link-appveyor] [![Code Coverage][icon-coverage]][link-coverage] [![Code Quality][icon-quality]][link-quality]
Lightweight configuration writer for PHP.
MonologPHPMailer requires [PHP][link-php] 5.5.9 or higher. Also, the config directory needs to be writable by web server in order to save config file.
The reccomended way to install ConfigWriter is with [Composer][link-composer], dependency manager for PHP.
You should just require filips123/config-writer
in your project.
composer require filips123/config-writer:^2.0
You would only need to include autoloader and namespace in your script.
<?php
use ConfigWriter\Config;
require 'vendor/autoload.php';
$config = new Config;
Alternatively, you could download files from GitHub and then manually include them in your script.
You whould need to include all files and namespace in your script.
<?php
use ConfigWriter\Config;
require 'src/Exceptions/UnsupportedFormatException.php';
require 'src/Exceptions/WriteException.php';
require 'src/ConfigInterface.php';
require 'src/AbstractConfig.php';
require 'src/Config.php';
require 'src/Record.php';
require 'src/Writers/WriterInterface.php';
require 'src/Writers/PhpWriter.php';
$config = new Config;
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;
);
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');
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');
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.
This project uses [SemVer][link-semver] for versioning. For the versions available, see the [tags on this repository][link-tags].
This project is licensed under the MIT license. See the [LICENSE
][link-license-file] file for details.
[icon-stable-version]: https://img.shields.io/packagist/v/filips123/config-writer.svg?style=flat-square&label=Latest+Stable+Version [icon-unstable-version]: https://img.shields.io/packagist/vpre/filips123/config-writer.svg?style=flat-square&label=Latest+Unstable+Version [icon-downloads]: https://img.shields.io/packagist/dt/filips123/config-writer.svg?style=flat-square&label=Downloads [icon-license]: https://img.shields.io/packagist/l/filips123/config-writer.svg?style=flat-square&label=License [icon-php]: https://img.shields.io/packagist/php-v/filips123/config-writer.svg?style=flat-square&label=PHP [icon-travis]: https://img.shields.io/travis/com/filips123/ConfigWriter.svg?style=flat-square&label=Linux+Build+Status [icon-appveyor]: https://img.shields.io/appveyor/ci/filips123/ConfigWriter.svg?style=flat-square&label=Windows+Build+Status [icon-coverage]: https://img.shields.io/scrutinizer/coverage/g/filips123/ConfigWriter.svg?style=flat-square&label=Code+Coverage [icon-quality]: https://img.shields.io/scrutinizer/g/filips123/ConfigWriter.svg?style=flat-square&label=Code+Quality
[link-packagist]: https://packagist.org/packages/filips123/config-writer/ [link-license]: https://choosealicense.com/licenses/mit/ [link-php]: https://php.net/ [link-composer]: https://getcomposer.org/ [link-travis]: https://travis-ci.com/filips123/ConfigWriter/ [link-appveyor]: https://ci.appveyor.com/project/filips123/configwriter/ [link-coverage]: https://scrutinizer-ci.com/g/filips123/ConfigWriter/code-structure/ [link-quality]: https://scrutinizer-ci.com/g/filips123/ConfigWriter/ [link-semver]: https://semver.org/ [link-tags]: https://github.com/filips123/ConfigWriter/tags/ [link-license-file]: https://github.com/filips123/ConfigWriter/blob/master/LICENSE
Files (18) |
File | Role | Description | ||
---|---|---|---|---|
src (4 files, 2 directories) | ||||
tests (3 files, 1 directory) | ||||
.travis.yml | Data | Auxiliary data | ||
composer.json | Data | Auxiliary data | ||
LICENSE | Lic. | License text | ||
phpcs.xml.dist | Data | Auxiliary data | ||
phpunit.xml.dist | Data | Auxiliary data | ||
README.md | Doc. | Read me |
Files (18) | / | src |
File | Role | Description | ||
---|---|---|---|---|
Exceptions (2 files) | ||||
Writers (2 files) | ||||
AbstractConfig.php | Class | Class source | ||
Config.php | Class | Class source | ||
ConfigInterface.php | Class | Class source | ||
Record.php | Class | Class source |
Files (18) | / | src | / | Exceptions |
File | Role | Description |
---|---|---|
UnsupportedFormatException.php | Class | Class source |
WriteException.php | Class | Class source |
Files (18) | / | src | / | Writers |
File | Role | Description |
---|---|---|
PhpWriter.php | Class | Class source |
WriterInterface.php | Class | Class source |
Files (18) | / | tests |
File | Role | Description | ||
---|---|---|---|---|
Writers (1 file) | ||||
AbstractConfigTest.php | Class | Class source | ||
ConfigTest.php | Class | Class source | ||
RecordTest.php | Class | Class source |
The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
Install with Composer |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
This project on GitHub. |
This project on Packagist. |
If you know an application of this package, send a message to the author to add a link here.