clubdrei/typo3-env-config 问题修复 & 功能扩展

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

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

clubdrei/typo3-env-config

Composer 安装命令:

composer require clubdrei/typo3-env-config

包简介

Dependency-free parser for converting flat environment variables into nested PHP arrays (TYPO3-focused, framework-agnostic)

README 文档

README

Dependency-free parser for converting flat environment variables into nested PHP arrays.

Main use case: TYPO3-style keys like TYPO3_CONF_VARS__.... Also works in any PHP project (framework agnostic).

Requirements

  • PHP >=5.4

Installation

composer require clubdrei/typo3-env-config

What it does

Input:

TYPO3_CONF_VARS__DB__Connections__Default__host=127.0.0.1
TYPO3_CONF_VARS__DB__Connections__Default__dbname=mydb

Output:

[
    'TYPO3_CONF_VARS' => [
        'DB' => [
            'Connections' => [
                'Default' => [
                    'host' => '127.0.0.1',
                    'dbname' => 'mydb',
                ],
            ],
        ],
    ],
];

Usage

1) Parse directly from runtime environment

Use parseFromEnvironment() when values already exist in $_SERVER, $_ENV, and/or getenv().

<?php

use Clubdrei\Typo3EnvConfig\Parser;

$parsed = Parser::parseFromEnvironment('TYPO3_CONF_VARS');

if (isset($parsed['TYPO3_CONF_VARS'])) {
    $config = array_replace_recursive($config, $parsed['TYPO3_CONF_VARS']);
}

Lookup precedence in parseFromEnvironment():

  1. $_SERVER
  2. $_ENV
  3. getenv() (PHP >=7.1 only, where parameterless getenv() is available)

First value found for a key wins. This matches the common $_SERVER / $_ENV / getenv() behavior used in Laravel and vlucas/phpdotenv setups.

2) Parse a custom key/value array

Use parseFromArray() when you already have env variables in your own array.

<?php

use Clubdrei\Typo3EnvConfig\Parser;

$env = [
    'APP_CONFIG__database__host' => '127.0.0.1',
    'APP_CONFIG__database__name' => 'mydb',
    'APP_CONFIG__features__0' => 'search',
    'APP_CONFIG____emptySegment' => 'yes',
    'UNRELATED__value' => 'ignored',
];

$parsed = Parser::parseFromArray($env, 'APP_CONFIG');

Result:

[
    'APP_CONFIG' => [
        'database' => [
            'host' => '127.0.0.1',
            'name' => 'mydb',
        ],
        'features' => [
            '0' => 'search',
        ],
        '' => [
            'emptySegment' => 'yes',
        ],
    ],
];

Notes:

  • Keys outside the selected prefix are ignored.
  • Numeric and empty segments are kept as-is.
  • Values can be processed with special placeholders.

3) Value processors

The parser supports these value processors:

  • %int:VALUE% casts VALUE to int
  • %bool:VALUE% casts VALUE to bool (Symfony-style semantics)
  • %typo3.environment.getProjectPath% resolves TYPO3\CMS\Core\Core\Environment::getProjectPath()
  • %typo3.environment.getVarPath% resolves TYPO3\CMS\Core\Core\Environment::getVarPath()

Example:

<?php

use Clubdrei\Typo3EnvConfig\Parser;

$env = [
    'TYPO3_CONF_VARS__SYS__maxRetries' => '%int:3%',
    'TYPO3_CONF_VARS__SYS__displayErrors' => '%bool:false%',
    'TYPO3_CONF_VARS__SYS__projectPath' => '%typo3.environment.getProjectPath%',
];

$parsed = Parser::parseFromArray($env, 'TYPO3_CONF_VARS');

API

  • Parser::parseFromEnvironment($prefix = 'TYPO3_CONF_VARS', $separator = '__')
  • Parser::parseFromArray(array $environmentVariables, $prefix = 'TYPO3_CONF_VARS', $separator = '__')

License

MIT

clubdrei/typo3-env-config 适用场景与选型建议

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

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

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

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-02-20