contenir/config

Framework-agnostic PHP-array config file reader/writer with atomic writes and opcache invalidation. Adapted from Laminas\Config.

Maintainers

Package info

github.com/contenir/config

pkg:composer/contenir/config

Statistics

Installs: 2

Dependents: 3

Suggesters: 3

Stars: 0

Open Issues: 0

v0.2.0 2026-05-08 03:37 UTC

This package is auto-updated.

Last update: 2026-05-08 03:54:39 UTC


README

Framework-agnostic PHP-array config file reader and writer for Contenir CMS.

Reads and writes the <?php return [...]; config files that get merged into a Laminas/Mezzio site's configuration. Designed for the admin-writes / Site-reads pattern used by sibling packages like contenir/cache, contenir/maintenance, and contenir/errors.

The reader is tolerant — a missing, unreadable, or syntactically broken file resolves to an empty array rather than throwing, so first-run consumers can ask for state before any has been written. The writer is atomic — partial writes are never visible to readers, and concurrent writers can't race during the write/rename window.

Install

composer require contenir/config

Requires PHP 8.1+.

Usage

Reading

use Contenir\Config\Reader\PhpArray as ConfigReader;

$config = ConfigReader::fromFile('/var/www/shared/pagecache.local.php');

$config is always an array — empty if the file doesn't exist, is unreadable, or contains a parse error.

Writing

use Contenir\Config\Writer\PhpArray as ConfigWriter;

ConfigWriter::toFile($path, $config);

The optional third argument is a domain label that gets interpolated into error messages — sibling packages pass things like 'cache control', 'maintenance state', 'error pages' so failures surface with consumer-meaningful wording. Save errors throw Contenir\Config\Exception\WriteException, which extends \RuntimeException.