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

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

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

oasys/config

Composer 安装命令:

composer require oasys/config

包简介

Lightweight PHP array config file loader with dot-notation value access

README 文档

README

Tests Latest Stable Version PHP Version Require License

Lightweight PHP array config file loader

  • Dot-notation value access
  • Multiple config files
  • Default fallback values
  • Safe key existence checks
  • Filename-based config namespaces

Installation

composer require oasys/config

Quick start

config/app.php

<?php declare(strict_types=1);

return [
    'name'     => 'myApp',
    'origin'   => 'http://localhost/',
    'dev_mode' => true
];

index.php

<?php declare(strict_types=1);

use Oasys\Config\ArrayConfig;

$config = new ArrayConfig(
    __DIR__ . '/config/app.php'
);

$value = $config->get('app.name');
"myApp"

Config files

Each config file must return an array

The filename without extension becomes the top-level config key

You can group values by indenting an array

config/db.php

<?php declare(strict_types=1);

return [
    'driver'   => 'mysql',
    'host'     => 'localhost',
    'database' => 'myapp_dev',
    'username' => 'johndoe',
    'password' => 'secret',
    'encoding' => [
        'charset'   => 'utf8mb4',
        'collation' => 'utf8mb4_general_ci'
    ]
];

Usage

You can supply multiple config files

<?php declare(strict_types=1);

use Oasys\Config\ArrayConfig;

$config = new ArrayConfig(
    __DIR__ . '/config/app.php',
    __DIR__ . '/config/db.php'
);

Dot notation

$config->get('db.driver');
"mysql"
$config->get('db.encoding.charset');
"utf8mb4"

Default value

$config->get('db.port', 3306);
3306

Existence check

$config->has('db.password');
true
$config->has('db.port');
false

Full export

$config->all();
[
    'app' => [
        'name'     => 'myApp',
        'origin'   => 'http://localhost/',
        'dev_mode' => true
    ],

    'db' => [
        'driver'   => 'mysql',
        'host'     => 'localhost',
        'database' => 'myapp_dev',
        'username' => 'johndoe',
        'password' => 'secret',
        'encoding' => [
            'charset'   => 'utf8mb4',
            'collation' => 'utf8mb4_general_ci'
        ]
    ]
]

Design notes

  • Config files are loaded in the provided order
  • Same filename overwrites the previous mapping
  • Empty get('') key returns the full config array
  • Missing key without default value returns null
  • Missing files, unreadable files, and files that do not return arrays throw exceptions

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-06-12

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固