1. Go to this page and download the library: Download flavacaster/configs 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/ */
class LocalStorageAdapter
{
private Config $config;
public function __construct(Config $config)
{
$this->config = $config;
}
public function build()
{
// IDE's autocomplete not working for this line
$this->config->storage->drivers->local;
}
}
use Flavacaster\Configs\AbstractConfig;
class ApplicationConfiguration extends AbstractConfig
{
private string $timezone;
private string $currency;
public function __construct()
{
$this->timezone = $this->env()->getString('APPLICATION_TIMEZONE', 'UTC');
$this->currency = $this->env()->getString('APPLICATION_CURRENCY', 'USD');
}
}
class StorageConfiguration extends AbstractConfig
{
private string $driver;
private array $drivers = [];
// If you want you are able to inject nested configurations
public function __construct(
LocalStorageConfiguration $localStorageConfiguration,
AwsStorageConfiguration $awsStorageConfiguration
) {
$this->driver = $this->env()->getString('STORAGE_DRIVER', 'local');
$this->drivers['local'] = $localStorageConfiguration;
$this->drivers['aws'] = $awsStorageConfiguration;
}
}
class LocalStorageConfiguration extends AbstractConfig
{
// ...
public function __construct()
{
// ...
}
}
class AwsStorageConfiguration extends AbstractConfig
{
// ...
public function __construct()
{
// ...
}
}
class LocalStorageAdapter
{
private LocalStorageConfiguration $config;
public function __construct(LocalStorageConfiguration $config)
{
$this->config = $config;
}
public function build()
{
$this->config;
}
}
public function getBool(string $key, $default = null): bool
public function getNullableBool(string $key, $default = null): ?bool
public function getFloat(string $key, $default = null): float
public function getNullableFloat(string $key, $default = null): ?float
public function getInt(string $key, $default = null): int
public function getNullableInt(string $key, $default = null): ?int
public function getList(string $key, $default = []): array
public function getNullableList(string $key, $default = []): ?array
public function getString(string $key, $default = null): string
public function getNullableString(string $key, $default = null): ?string
public function getRaw(string $key)
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.