yasd/config

0.0.2 2021-06-13 21:03 UTC

This package is auto-updated.

Last update: 2024-04-18 03:00:30 UTC


README

composer require yasd/config
use Nette\Schema\Expect;
use YaSD\Config\AbstractConfig;
use stdClass;

class MyConfig extends AbstractConfig
{
    public const MYKEY = 'mykey';

    public function getMyValue(): int
    {
        return $this->get(
            self::MYKEY,
            Expect::int(),
        );
    }

    public function getMysql(): stdClass
    {
        return $this->get(
            'mysql',
            Expect::structure([
                'host'     => Expect::string()->required(),
                'port'     => Expect::int()->required(),
                'user'     => Expect::string()->required(),
                'password' => Expect::string()->required(),
                'dbname'   => Expect::string()->required(),
            ])
        );
    }
}
$config = new MyConfig(__DIR__ . '/test.config.php');

$ret = $config->reload()->getMyValue();
var_dump($ret);

$ret = $config->getMysql();
var_dump($ret);