kislayphp/config

High-performance C++ PHP extension providing dynamic configuration management for PHP microservices

Maintainers

Package info

github.com/KislayPHP/config

Documentation

Language:Shell

Type:php-ext

Ext name:ext-kislayphp_config

pkg:composer/kislayphp/config

Statistics

Installs: 7

Dependents: 0

Suggesters: 6

Stars: 0

Open Issues: 0

0.0.2 2026-03-02 15:30 UTC

This package is not auto-updated.

Last update: 2026-03-02 15:37:14 UTC


README

Configuration runtime for KislayPHP.

Primary runtime namespace is Kislay\Config with backward-compatible aliases under KislayPHP\Config.

Concurrency Mode

  • Default API mode is synchronous.
  • Reads/writes return immediate values and do not use Promise/Fiber types.
  • Optional RPC transport can be enabled internally, but public behavior remains synchronous.

This module is sync-first so configuration reads remain deterministic inside request lifecycles.

Installation

pie install kislayphp/config

Enable in php.ini:

extension=kislayphp_config.so

Public API

Kislay\Config\ConfigClient:

  • __construct()
  • setClient(Kislay\Config\ClientInterface $client): bool
  • set(string $key, string $value): bool
  • get(string $key, mixed $default = null): mixed
  • all(): array
  • has(string $key): bool
  • remove(string $key): bool

Kislay\Config\ClientInterface:

  • set(string $key, string $value): bool
  • get(string $key, mixed $default = null): mixed
  • all(): array

Legacy aliases:

  • KislayPHP\Config\ConfigClient
  • KislayPHP\Config\ClientInterface

Quick Start

<?php

$config = new Kislay\Config\ConfigClient();

$config->set('app.name', 'kislay-service');
$config->set('app.env', 'dev');

var_dump($config->get('app.name'));
var_dump($config->has('app.env'));
var_dump($config->all());

Notes

  • Recommended merge order at framework level: env > local > remote > defaults.
  • Use a custom client implementation via setClient() for remote config backends.
  • For service communication policy, see SERVICE_COMMUNICATION.md.