buuum / config
PHP 的简单配置加载器
v2.0.1
2021-04-29 08:48 UTC
Requires
- php: >=5.5.0
README
安装
系统要求
使用 Buuum\Config 需要 PHP >= 5.5.0,但建议使用最新的稳定版 PHP。
Composer
Buuum\Config 可在 Packagist 上找到,并可以使用 Composer 进行安装
composer require buuum/config
手动
只要遵循 PSR-0 或 PSR-4 标准,您可以使用自己的自动加载器。只需将 src 目录的内容放入您的 vendor 目录。
初始化
$configs = [ 'environment' => 'local', 'local' => [ 'host' => 'host.dev', 'public' => 'httpdocs', 'development' => true, 'bbdd' => [ 'database' => 'database_name', 'host' => '127.0.0.1', 'username' => 'username', 'password' => 'password' ] ], 'prod' => [ 'host' => 'host.com', 'public' => 'httpdocs', 'development' => false, 'bbdd' => [ 'database' => 'database_name', 'host' => '127.0.0.1', 'username' => 'username', 'password' => 'password' ] ] ]; $autoloads = [ "files" => ['functions.php'], "psr-4" => [ "App\\Demo\\" => __DIR__."/src/Demo", ] ]; $config = new Config($configs, $autoloads);
使用点符号获取配置值
$config->get('environment'); // return local $config->get('local.host'); // return host.dev $config->get('local.bbddd'); // return array $config->get('local.bbdd.database); // return database_name
解析错误
您需要 handleErrorInterface 来处理解析错误示例
class HandleError implements HandleErrorInterface { private $logPath; private $debugMode; public function __construct($debugmode, $logPath = null) { $this->logPath = $logPath; $this->debugMode = $debugmode; } public function getDebugMode() { return $this->debugMode; } public function parseError($errtype, $errno, $errmsg, $filename, $linenum) { $err = "<errorentry>\n"; $err .= "\t<datetime>" . date("Y-m-d H:i:s (T)") . "</datetime>\n"; $err .= "\t<errornum>" . $errno . "</errornum>\n"; $err .= "\t<errortype>" . $errtype . "</errortype>\n"; $err .= "\t<errormsg>" . $errmsg . "</errormsg>\n"; $err .= "\t<scriptname>" . $filename . "</scriptname>\n"; $err .= "\t<scriptlinenum>" . $linenum . "</scriptlinenum>\n"; $err .= "</errorentry>\n\n"; error_log($err, 3, $this->logPath . "/error.log"); } } $handle = new HandleError(true, __DIR__); $config->setupErrors($handle);
- 如果 debugMode 为 true,则显示错误
- 如果 debugMode 为 false,则调用 parseError
许可证
MIT 许可证 (MIT)
版权所有 (c) 2016
在此,任何获得本软件及其相关文档副本(“软件”)的人士,无论是否免费,均有权在不受限制的情况下处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向提供软件的人士授予此类权利,但须遵守以下条件
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何明示或暗示的保证,包括但不限于适销性、适用于特定目的和无侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任(无论基于合同、侵权或其他原因)承担责任,这些索赔、损害或其他责任源自、因之产生或与此软件或其使用或其他处置有关。