PHPackages                             initphp/config - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. initphp/config

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

initphp/config
==============

InitPHP Config Library

1.0(4y ago)11261MITPHPPHP &gt;=7.4

Since Mar 16Pushed 4y ago1 watchersCompare

[ Source](https://github.com/InitPHP/Config)[ Packagist](https://packagist.org/packages/initphp/config)[ RSS](/packages/initphp-config/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (1)

InitPHP Config
==============

[](#initphp-config)

Advanced configuration manager library.

[![Latest Stable Version](https://camo.githubusercontent.com/ee4b71e368dc8d37a42bc28ffa8a46027a40ffe3be2d3feeb72cf5d809a6c0a3/687474703a2f2f706f7365722e707567782e6f72672f696e69747068702f636f6e6669672f76)](https://packagist.org/packages/initphp/config) [![Total Downloads](https://camo.githubusercontent.com/852d4739fb4c6bd981725db72bf48113f5f8aa5854bbfc8b2cfaa2e2e2b40ddb/687474703a2f2f706f7365722e707567782e6f72672f696e69747068702f636f6e6669672f646f776e6c6f616473)](https://packagist.org/packages/initphp/config) [![Latest Unstable Version](https://camo.githubusercontent.com/0943ba630dc1979c1b60f669c91cda5f93b3d52f988eb5a997eff9d3c649c1a2/687474703a2f2f706f7365722e707567782e6f72672f696e69747068702f636f6e6669672f762f756e737461626c65)](https://packagist.org/packages/initphp/config) [![License](https://camo.githubusercontent.com/3b2bac7ef05e303f770207b6a761552601984f6b6309e65a7944fd8e20d15816/687474703a2f2f706f7365722e707567782e6f72672f696e69747068702f636f6e6669672f6c6963656e7365)](https://packagist.org/packages/initphp/config) [![PHP Version Require](https://camo.githubusercontent.com/79deebeb825ed4cea031ab3c598afcfbaaa61555e8fca618822c15fd6f089c91/687474703a2f2f706f7365722e707567782e6f72672f696e69747068702f636f6e6669672f726571756972652f706870)](https://packagist.org/packages/initphp/config)

Requirements
------------

[](#requirements)

- PHP 7.4 or higher
- [ParameterBag Library](https://github.com/initphp/parameterbag)

Installation
------------

[](#installation)

```
composer require initphp/config
```

Usage
-----

[](#usage)

### Config Classes

[](#config-classes)

```
class MyAppConfig extends \InitPHP\Config\Classes
{
    public $url = 'http://lvh.me';

    public $name = 'LocalHost';

    public $db = [
        'host'  => 'localhost',
        'user'  => 'root'
    ];

    // ...
}
```

```
$config = new MyAppConfig();

echo $config->get('url');
// Output : "http://lvh.me"

echo $config->get('details', 'Not Found');
// Output : "Not Found"

echo $config->get('db.host');
// Output : "localhost"

if($config->has('name')){
    echo $config->get('name');
    // Output : "LocalHost"
}
```

### Config Library

[](#config-library)

#### `Config::setClass()`

[](#configsetclass)

Lets you define properties of an object or class as a configuration.

```
public function setClass(string|object $classOrObject): self;
```

***Example :***

```
namespace App\Config;

class AppConfig
{
    public $url = 'http://lvh.me';
}

class Database
{
    public $host = 'localhost';
}
```

```
use \InitPHP\Config\Config;

// Class
Config::setClass(\App\Config\AppConfig::class);

// or Object
Config::setClass(new \App\Config\Database());

Config::get('appconfig.url');

Config::get('database.host');
```

#### `Config::setArray()`

[](#configsetarray)

Imports an array.

```
public function setArray(?string $name, array $assoc = []): self;
```

***Example :***

```
require_once "vendor/autoload.php";
use \InitPHP\Config\Config;

$configs = [
    'url'   => 'http://lvh.me',
    'db'    => [
        'host'  => 'localhost',
        'user'  => 'db_user',
        'pass'  => '',
        'name'  => 'database'
    ],
];
Config::setArray('site', $configs);

Config::get('site.url');
Config::get('site.db.host', '127.0.0.1');
Config::get('site.db.user', 'root');
```

#### `Config::setFile()`

[](#configsetfile)

Loads the configurations in the PHP file, which returns an associative array.

```
public function setFile(?string $name, string $path): self;
```

***Example :***

`public_html/db_config.php` :

```
