Skip to main content

Introduction

Jinya Configuration is a flexible and powerful configuration library for PHP 8.3+. It allows you to manage configuration from various sources like environment variables, INI files, and arrays with a simple, unified API.

Features

  • Multiple Adapters: Built-in support for Environment variables, INI files, and PHP Arrays.
  • Priority-based Loading: Chain multiple adapters and define their search priority.
  • Grouped Configuration: Support for sections in INI files and prefixed environment variables.
  • Type-Safe: Designed with modern PHP features and type safety in mind.
  • Extensible: Easily implement your own adapters by following the AdapterInterface.

Installation

You can install the library via Composer:

composer require jinya/configuration

Quick Start

Here is a simple example using the EnvironmentAdapter:

<?php

use Jinya\Configuration\Configuration;
use Jinya\Configuration\Adapter\EnvironmentAdapter;

// Create an adapter
$adapter = new EnvironmentAdapter();

// Initialize the configuration with the adapter
$configuration = new Configuration([$adapter]);

// Get a value from environment variables
// It will look for 'APP_DEBUG'
$debug = $adapter->get('debug', group: 'app');