Skip to content

🚀The `ExtraConfigurator` class extends Nette's configuration by searching for `.neon` files across directories and caching the results, with automatic cache invalidation in development.

License

Notifications You must be signed in to change notification settings

drago-ex/bootstrap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Drago Bootstrap

ExtraConfigurator is a class built on top of Nette Framework's Configurator to simplify loading and caching of configuration files in .neon format. It automatically handles caching in development and production environments.

License: MIT PHP version Tests Coding Style CodeFactor Coverage Status

Requirements

  • PHP 8.3 or higher
  • composer

Installation

Make sure you have Nette Framework installed in your project.

composer require drago-ex/bootstrap

Basic Usage

Adding Configuration Files

To load configuration files from a specified directory:

use Drago\Bootstrap\Drago\Bootstrap\ExtraConfigurator;

$configurator = new ExtraConfigurator();

// Add configuration files from the 'config' directory
$configurator->addFindConfig(__DIR__ . '/config');

// Access the application (you can configure services, routing, etc.)
$app = $configurator->app();

Adding Multiple Directories

You can also provide multiple directories for configuration files:

$configurator->addFindConfig([
    __DIR__ . '/config/first',
    __DIR__ . '/config/second'
]);

Excluding Files or Directories

You can exclude certain files or directories from being loaded:

$configurator->addFindConfig(__DIR__ . '/config', 'exclude');

This will load all .neon files from the config directory except exclude.neon.

Cache Management

In development mode, the cache is invalidated after each request to allow immediate updates. In production mode, the cache is stored without expiration unless the configuration files are modified.

use Tracy\Debugger;

// Enable production mode to use persistent cache
Debugger::$productionMode = true;

// Cache is automatically handled and invalidated only when necessary
$configurator->addFindConfig(__DIR__ . '/config');

About

🚀The `ExtraConfigurator` class extends Nette's configuration by searching for `.neon` files across directories and caching the results, with automatic cache invalidation in development.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages