Skip to content

Enables applications to load and save configurations in JSON format, leveraging the CommonPHP Driver Management system for seamless integration.

License

Notifications You must be signed in to change notification settings

commonphp/config-json

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSON Configuration Driver for CommonPHP

This library provides a JSON configuration driver, JsonConfigurationDriver, which implements the ConfigurationDriverContract from the CommonPHP Configuration Management library. It enables applications to load and save configurations in JSON format, leveraging the CommonPHP Driver Management system for seamless integration.

Features

  • Load JSON Configurations: Effortlessly read and decode JSON files into associative arrays.
  • Save Configurations as JSON: Serialize and save PHP associative arrays back into JSON format files.
  • JSON Validation: Ensures the integrity of the JSON content during the loading process.
  • Exception Handling: Comprehensive error and exception handling for common JSON parsing issues.

Installation

Use Composer to install the Configuration Manager and this driver:

composer require comphp/config
composer require comphp/config-json

Usage

First, ensure that your DriverManager instance is configured to recognize the JSON driver:

use CommonPHP\Drivers\DriverManager;
use CommonPHP\Configuration\Drivers\JsonConfigurationDriver\JsonConfigurationDriver;

$driverManager = new DriverManager();
$driverManager->enable(JsonConfigurationDriver::class);

Then, when using the Configuration Manager to load or save a JSON file, the JsonConfigurationDriver will automatically be utilized for .json extensions, thanks to the #[ConfigurationDriverAttribute('json')] attribute.

Loading a Configuration File

$configManager->loadDriver(JsonConfigurationDriver::class);
$config = $configManager->get('path/to/configuration.json');

Saving a Configuration File

Ensure the driver has been loaded as shown above, then:

$config->data['newKey'] = 'newValue';
$config->save(); // Saves the modifications back to 'path/to/configuration.json'

Exception Handling

  • JsonException: Thrown if the JSON file contains invalid JSON.
  • Exception: General exceptions for file read/write failures or JSON decoding issues.

This driver provides a simple yet powerful means to work with JSON-based configurations within the CommonPHP framework, ensuring flexibility and ease of use for developers.

About

Enables applications to load and save configurations in JSON format, leveraging the CommonPHP Driver Management system for seamless integration.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages