initphp/config

InitPHP 配置库

1.0 2022-03-16 11:20 UTC

This package is auto-updated.

Last update: 2024-09-24 11:53:28 UTC


README

高级配置管理库。

Latest Stable Version Total Downloads Latest Unstable Version License PHP Version Require

要求

安装

composer require initphp/config

用法

配置类

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::setClass()

允许您将对象或类的属性定义为配置。

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

示例

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()

导入一个数组。

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

示例

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()

加载 PHP 文件中的配置,该文件返回一个关联数组。

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

示例

public_html/db_config.php :

<?php 
return [
    'HOST'  => 'localhost',
    'USER'  => 'root',
    'PASS'  => '',
    'NAME'  => 'database'
];
require_once "vendor/autoload.php";
use \InitPHP\Config\Config;

Config::setFile('DB', __DIR__ . '/public_html/db_config.php');

// Usage : 
Config::get('db.host');

Config::setDir()

将目录中的 PHP 文件作为配置文件加载。

public function setDir(?string $name, string $path, array $exclude = []): self;

示例

public_html/config/db.php :

<?php 
return [
    'HOST'  => 'localhost',
    'USER'  => 'root',
    'PASS'  => '',
    'NAME'  => 'database'
];

public_html/config/site.php :

<?php 
return [
    'URL'   => 'http://lvh.me',
    // ...
];
require_once "vendor/autoload.php";
use \PHPConfig\Config;

Config::setDir('app', __DIR__ . '/public_html/config/');

// Usage : 
Config::get('app.site.url');
Config::get('app.db.host');

感谢

许可证

版权 © 2022 MIT 许可证