Search by

amtgard / environment-loader

amtgard

Environment-agnostic PHP include path selection for composition roots (Registry + Strategy).

Package info

github.com/amtgard/environment-loader

pkg:composer/amtgard/environment-loader

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.0 2026-10-01 02:46 UTC

This package is auto-updated.

Last update: 2026-10-01 02:50:26 UTC


README

Environment-agnostic helper for composition roots: register include files per module and environment name, then resolve absolute paths for require.

Depends on amtgard/builder-traits (Builder/Getter) and jedibc/optional for binding selection and optional logging.

Install

composer require amtgard/environment-loader

Usage

use Amtgard\EnvironmentLoader\EnvironmentLoader;

$environment = getenv('APP_ENV') ?: 'environment-one';

$envLoad = EnvironmentLoader::builder()
    ->build()
    ->defaultPath('environment-one', '/path/to/live/container')
    ->defaultPath('environment-two', '/path/to/integ/container');

$envLoad->register('oauth')
    ->withEnvironment('environment-one', 'oauth-providers.php', EnvironmentLoader::DEFAULT)
    ->withEnvironment('environment-two', 'oauth-providers-integ.php');

(require $envLoad->emit('oauth', $environment))($containerBuilder);

Optional PSR-3 logger: EnvironmentLoader::builder()->logger($logger)->build()->defaultPath(...).

Development

composer install
composer test