initphp / config
InitPHP 配置库
1.0
2022-03-16 11:20 UTC
Requires
- php: >=7.4
- initphp/parameterbag: ^1.0
README
高级配置管理库。
要求
- PHP 7.4 或更高版本
- ParameterBag 库
安装
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 许可证