sourcebroker/configs

根据TYPO3_CONTEXT设置读取配置。

0.4.0 2023-04-15 20:50 UTC

This package is auto-updated.

Last update: 2024-09-16 00:08:04 UTC


README

它做什么?

此扩展包含基于TYPO3_CONTEXT值的PHP文件。这允许您根据不同的上下文(实例、功能激活、系统详细程度等)对TYPO3设置进行微调。

安装

  1. 使用composer安装

    composer require sourcebroker/configs
    
  2. typo3conf/AdditionalConfiguration.php中添加以下代码

    <?php
    
    defined('TYPO3') or die();
    
    \SourceBroker\ConfigTypo3\Config::initialize()
        ->appendContextToSiteName()
        ->includeContextDependentConfigurationFiles();
    
  3. config文件夹中创建context文件夹。

  4. context文件夹中创建以1_*、2_*、3_*、4_*开头的文件夹,例如1_verbosity2_mode3_instance

  5. 在这些文件夹中创建带有您将在TYPO3_CONTEXT中使用的名称的PHP文件。

示例

  1. 将示例配置从Resources/Private/Examples/Example1/context复制到文件夹config/context
  2. 您可以更改文件夹名称1_verbosity2_mode3_instance,但不能更改number_underscore对。数字决定根据TYPO3_CONTEXT部分从文件夹中读取哪些配置。数字和下划线后面的部分不起作用。
  3. 如果TYPO3_CONTEXT设置为Development/Staging/Beta,则从文件夹1_verbosity包含文件Development.php,从文件夹2_mode包含文件Staging.php,从文件夹3_instance包含文件Beta.php

您可以创建任意数量的数字文件夹。您还可以从一个文件夹中读取多个文件,当您用逗号分隔字符串时。例如,您可以将TYPO3_CONTEXT设置为Production//Live/Feature1,Feature2,然后从文件夹1_verbosity包含文件Production.php,从文件夹3_mode包含文件Live.php,从文件夹4_whatever包含文件Feature1.phpFeature2.php

如果您安装了包helhum/dotenv-connector,那么您还可以通过在.env文件中添加条目来修改$GLOBALS['TYPO3_CONF_VARS']数组,格式如下:TYPO3__[first_level_array]__[second_level_array]__[third_level_array] = "value"

这允许您通过将以下行放入每个实例的.env文件中,为每个实例提供数据库值。.env文件应在git之外。

示例

TYPO3__DB__Connections__Default__dbname=".."
TYPO3__DB__Connections__Default__host=".."
TYPO3__DB__Connections__Default__port=".."
TYPO3__DB__Connections__Default__user=".."
TYPO3__DB__Connections__Default__password=".."

TYPO3__GFX__processor_path=".."
TYPO3__GFX__processor_path_lzw=".."
TYPO3__GFX__processor_colorspace=".."

您可以根据自己的意愿决定将哪些值放入.git之外(.env)的.env中,以及将哪些值放入git中的config/context/3_instance/Live.phpconfig/context/3_instance/Beta.php等中。

在.env文件中存储大量值意味着在本地开发系统上重新创建相同的TYPO3状态会更加困难。如果这些设置在git中,则只需在本地开发系统上将TYPO3_CONTEXT从TYPO3_CONTEXT=Development/Staging/Local切换到beta TYPO3_CONTEXT=Production/Staging/Beta即可。

数据库访问数据是放入.env中的良好候选。

灵感