PHP code example of fi1a / config

1. Go to this page and download the library: Download fi1a/config library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

fi1a / config example snippets


use Fi1a\Config\Config;
use Fi1a\Config\Parsers\PHPParser;
use Fi1a\Config\Readers\FileReader;
use Fi1a\Config\Writers\FileWriter;
use Fi1a\Filesystem\Adapters\LocalAdapter;
use Fi1a\Filesystem\Filesystem;

$filesystem = new Filesystem(new LocalAdapter(__DIR__));
$file = $filesystem->factoryFile('./config.php');

$reader = new FileReader($file);
$writer = new FileWriter($file);

$parser = new PHPParser();

$config = Config::load($reader, $parser); // Fi1a\Config\ConfigValuesInterface

$config->get('path:to:value', true);
$config->set('path:to:value', 'value');

Config::write($config, $writer, $parser); // true

use Fi1a\Config\Config;
use Fi1a\Config\Parsers\PHPParser;
use Fi1a\Config\Readers\FileReader;
use Fi1a\Filesystem\Adapters\LocalAdapter;
use Fi1a\Filesystem\Filesystem;

$parser = new PHPParser();

$filesystem = new Filesystem(new LocalAdapter(__DIR__));

$config = Config::batchLoad([
    [
        new FileReader($filesystem->factoryFile('./config1.php')),
        $parser,
    ],
    [
        new FileReader($filesystem->factoryFile('./config2.php')),
        $parser,
    ],
    [
        new FileReader($filesystem->factoryFile('./config3.php')),
        $parser,
    ],
]); // Fi1a\Config\ConfigValuesInterface

$config->get('path:to:value', true);

use Fi1a\Config\Config;

$register = Config::create(['foo' => ['bar' => ['baz' => 1], 'qux' => 2,],]);

$register->get('foo:bar:baz'); // 1
$register->get('foo:qux'); // 2
$register->get('foo:bar:baz:bat'); // null
$register->get('foo:bar:baz:bat', false); // false

$register->has('foo:bar'); // true
$register->has('foo:bar:baz'); // true
$register->has('foo:bar:baz:bat'); // false

use Fi1a\Config\Config;
use Fi1a\Config\Parsers\PHPParser;
use Fi1a\Config\Readers\FileReader;
use Fi1a\Filesystem\Adapters\LocalAdapter;
use Fi1a\Filesystem\Filesystem;

$filesystem = new Filesystem(new LocalAdapter(__DIR__));

$reader = new FileReader($filesystem->factoryFile('./config.php'));
$parser = new PHPParser();

$config = Config::load($reader, $parser); // Fi1a\Config\ConfigValuesInterface

$config->get('path:to:value', true);
$config->set('path:to:value', 'value');

use Fi1a\Config\Config;
use Fi1a\Config\Parsers\PHPParser;
use Fi1a\Config\Readers\DirectoryReader;
use Fi1a\Filesystem\Adapters\LocalAdapter;
use Fi1a\Filesystem\Filesystem;

$filesystem = new Filesystem(new LocalAdapter(__DIR__));

$reader = new DirectoryReader($filesystem->factoryFolder('.'), '/^(.+)\.config\.php$/');
$parser = new PHPParser();

$config = Config::load($reader, $parser); // Fi1a\Config\ConfigValuesInterface

$config->get('path:to:value', true);
$config->set('path:to:value', 'value');

use Fi1a\Config\Config;
use Fi1a\Config\Parsers\PHPParser;
use Fi1a\Config\Writers\FileWriter;
use Fi1a\Filesystem\Adapters\LocalAdapter;
use Fi1a\Filesystem\Filesystem;

$filesystem = new Filesystem(new LocalAdapter(__DIR__));

$writer = new FileWriter($filesystem->factoryFile('./config.php'));

$parser = new PHPParser();

$config = Config::create(['foo' => 'bar', 'baz' => [1, 2, 3]]);

Config::write($config, $writer, $parser); // true

use Fi1a\Config\Config;
use Fi1a\Config\Parsers\Factory;
use Fi1a\Config\Readers\FileReader;
use Fi1a\Filesystem\Adapters\LocalAdapter;
use Fi1a\Filesystem\Filesystem;

$filesystem = new Filesystem(new LocalAdapter(__DIR__));

$file = $filesystem->factoryFile('./config.json');
$reader = new FileReader($file);
$parser = Factory::byFileType($file->getPath()); // Fi1a\Config\Parsers\JSONParser

$config = Config::load($reader, $parser); // Fi1a\Config\ConfigValuesInterface

$config->get('path:to:value', true);

use Fi1a\Config\Config;
use Fi1a\Config\Parsers\PHPParser;
use Fi1a\Config\Readers\FileReader;
use Fi1a\Config\Writers\FileWriter;
use Fi1a\Filesystem\Adapters\LocalAdapter;
use Fi1a\Filesystem\Filesystem;

$filesystem = new Filesystem(new LocalAdapter(__DIR__));

$file = $filesystem->factoryFile('./config.php');
$reader = new FileReader($file);
$writer = new FileWriter($file);
$parser = new PHPParser('UTF-8', false, '1tab');

$config = Config::load($reader, $parser); // Fi1a\Config\ConfigValuesInterface

$config->get('path:to:value', true);
$config->set('path:to:value', 'value');

Config::write($config, $writer, $parser); // true

use Fi1a\Config\Config;
use Fi1a\Config\Parsers\JSONParser;
use Fi1a\Config\Readers\FileReader;
use Fi1a\Filesystem\Adapters\LocalAdapter;
use Fi1a\Filesystem\Filesystem;

$filesystem = new Filesystem(new LocalAdapter(__DIR__));

$reader = new FileReader($filesystem->factoryFile('./config.json'));
$parser = new JSONParser(64, JSON_UNESCAPED_UNICODE | JSON_THROW_ON_ERROR);

$config = Config::load($reader, $parser); // Fi1a\Config\ConfigValuesInterface

$config->get('path:to:value', true);
$config->set('path:to:value', 'value');