duyler/config 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

duyler/config

Composer 安装命令:

composer require duyler/config

包简介

Duyler config file loader

关键字:

README 文档

README

Quality Gate Status Coverage Psalm Type Coverage PHP Version

Duyler Config

Description

Duyler Config is a powerful and flexible configuration management library for PHP applications. It provides a simple and intuitive way to handle configuration files and environment variables in your projects.

Features

  • Recursive configuration file loading
  • Environment variables support with .env files
  • Configuration caching for production environments
  • Type-safe configuration values with typed getters
  • Circular dependency detection
  • Extensible through interfaces
  • Clean architecture with SOLID principles
  • PHP 8.4+ support

Installation

composer require duyler/config

Basic Usage

use Duyler\Config\FileConfig;

// Initialize config
$config = new FileConfig(
    configDir: 'config',
    rootFile: 'composer.json'
);

// Get configuration value
$value = $config->get('app', 'name', 'default');

// Check if config key exists
if ($config->has('app', 'name')) {
    // ...
}

// Get all values from config file
$allConfig = $config->all('app');

// Type-safe getters
$timeout = $config->getInt('app', 'timeout', 30);
$debug = $config->getBool('app', 'debug', false);
$name = $config->getString('app', 'name', 'MyApp');
$servers = $config->getArray('app', 'servers', []);

// Get environment variable
$env = $config->env('APP_ENV', 'production');

// Get project path
$path = $config->path('storage/logs');

Advanced Usage

Configuration Caching

For production environments, you can enable configuration caching:

$config = new FileConfig(
    configDir: 'config',
    rootFile: 'composer.json',
    cacheDir: 'var/cache',
    useCache: true
);

// Warm up cache (optional, useful for deployment)
$config->warmup();

// Clear cache when needed
$config->clearCache();

Cross-Config References

Configuration files can reference values from other configs:

// config/app.php
return [
    'name' => 'MyApp',
    'database' => $config->get('database', 'default', 'mysql'),
];

// config/database.php
return [
    'default' => 'postgresql',
    'connections' => [
        'mysql' => ['host' => 'localhost'],
        'postgresql' => ['host' => 'localhost'],
    ],
];

The library automatically handles circular dependencies.

Requirements

  • PHP 8.4 or higher
  • Composer

Architecture

The library follows clean architecture principles and SOLID design:

  • ProjectRootFinder - Locates project root directory
  • ConfigFileLoader - Loads configuration files from filesystem
  • EnvironmentResolver - Handles environment variables
  • ConfigCache - Manages configuration caching
  • FileConfig - Main facade for configuration access

License

This project is licensed under the MIT License - see the LICENSE file for details.

duyler/config 适用场景与选型建议

duyler/config 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 876 次下载、GitHub Stars 达 0, 最近一次更新时间为 2023 年 08 月 25 日, 在 PHP 生态内属于活跃度较高的组件。

它主要适用于以下技术方向: 「config」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。

我们在过去多个企业项目中使用过 duyler/config 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 duyler/config 我们能提供哪些服务?
定制开发 / 二次开发

基于 duyler/config 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 876
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 8
  • 依赖项目数: 4
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-08-25