Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/filips123/configwriter
Lightweight configuration writer for PHP
https://github.com/filips123/configwriter
config configuration microphp php settings unframework
Last synced: 26 days ago
JSON representation
Lightweight configuration writer for PHP
- Host: GitHub
- URL: https://github.com/filips123/configwriter
- Owner: filips123
- License: mit
- Created: 2016-01-18T15:08:33.000Z (almost 9 years ago)
- Default Branch: v2
- Last Pushed: 2020-01-23T20:59:13.000Z (almost 5 years ago)
- Last Synced: 2024-11-18T09:13:08.315Z (about 1 month ago)
- Topics: config, configuration, microphp, php, settings, unframework
- Language: PHP
- Homepage:
- Size: 40 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
PHP Config Writer
=================[![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.
## Installation
### Requirements
PHP Config Writer 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.### Using Composer
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.
```bash
composer require filips123/config-writer:^2.0
```You would only need to include autoloader and namespace in your script.
```php
'user',
'password' => 'pass',
],
<<addRecord('application', 'ConfigWriter');
```They can also have comments, which will be generated in documentation.
```php
$config->addRecord('application', 'ConfigWriter', 'Application name');
```### Adding sections
Sections visually and functionally separate multiple records. They can be added using `ConfigWriter\Config::addSection()` method.
```php
$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.
```php
$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.
```php
$config->toString(new ConfigWriter\Writers\PhpWriter);
$config->toFile('config.php');
```Writers can also have specific options for writing.
```php
$config->toFile('config.php', new ConfigWriter\Writers\PhpWriter, ['indentation' => ' ']);
```The only supported writer is for PHP array, but more writers will be added later.
## Versioning
This project uses [SemVer][link-semver] for versioning. For the versions available, see the [tags on this repository][link-tags].## License
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