PHP code example of chubbyphp / chubbyphp-config

1. Go to this page and download the library: Download chubbyphp/chubbyphp-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/ */

    

chubbyphp / chubbyphp-config example snippets




namespace MyProject;

use Chubbyphp\Config\ConfigProvider;
use Chubbyphp\Config\ServiceFactory\ConfigServiceFactory;
use Chubbyphp\Container\Container;
use MyProject\Config\DevConfig;
use MyProject\Config\ProdConfig;

$env = 'dev';

$container = new Container();
$container->factories((new ConfigServiceFactory((new ConfigProvider([
    new DevConfig(__DIR__.'/..'),
    new ProdConfig(__DIR__.'/..'),
]))->get($env)))());



namespace MyProject;

use Chubbyphp\Config\ConfigProvider;
use Chubbyphp\Config\ServiceProvider\ConfigServiceProvider;
use MyProject\Config\DevConfig;
use MyProject\Config\ProdConfig;
use Pimple\Container;

$env = 'dev';

$container = new Container();
$container->register(new ConfigServiceProvider(
    (new ConfigProvider([
        new DevConfig(__DIR__.'/..'),
        new ProdConfig(__DIR__.'/..'),
    ]))->get($env)
));



namespace MyProject\Config;

use Chubbyphp\Config\ConfigInterface;

class DevConfig implements ConfigInterface
{
    /**
     * @var string
     */
    private $rootDir;

    /**
     * @param string $rootDir
     */
    public function __construct(string $rootDir)
    {
        $this->rootDir = $rootDir;
    }

    /**
     * @return array
     */
    public function getConfig(): array
    {
        return [
            'env' => $this->getEnv(),
            'rootDir' => $this->rootDir
        ];
    }

    /**
     * @return array
     */
    public function getDirectories(): array
    {
        $environment = $this->getEnv();

        return [
            'cache' => $this->rootDir . '/var/cache/' . $environment,
            'logs' => $this->rootDir . '/var/logs/' . $environment,
        ];
    }

    public function getEnv(): string
    {
        return 'dev';
    }
}