在TYPO3扩展名中将dotenv连接器与自己的.env文件一起使用

时间:2019-03-07 11:38:58

标签: typo3 dotenv

我正在使用 dotenv连接器来解析主项目目录中已经存在的.env文件。这行得通。

但是我在自己的扩展目录中将连接器与自己的.env一起使用时遇到问题。

扩展是根据作曲家的要求添加到主项目的:

"repositories": [
    { "type": "vcs", "url": "git@github.com:myself/myextension.git" }
],
"require": {
    ...
    "myself/myextension": "dev-master"
},

我的扩展程序的作曲家结构

"require": {
    "typo3/cms-core": "^9.5",
    "helhum/dotenv-connector": "^2.1"
},
"config": {
    "vendor-dir": ".Build/vendor",
    "bin-dir": ".Build/bin"
},
"extra": {
    "helhum/dotenv-connector": {
        "env-file": ".env"
    },
    "typo3/cms": {
        "cms-package-dir": "{$vendor-dir}/typo3/cms",
        "web-dir": ".Build/Web"
    }
}

env文件,位于与扩展名composer.json相同的目录中:

typo3conf/ext/my_extension
  -- composer.json
  -- .env

.env文件的示例内容

T3_NEW_ENV_VAR='SUCCESSFULLY LOADED ENV VAR'

通过在TypoScript中读取env var进行测试

page.40 = TEXT
page.40.value := getEnv(T3_NEW_ENV_VAR)

应该输出:成功加载ENV变量

输出IS:空

如果将.env文件移动到主项目目录,则相同的TypoScript可以读取env var并输出正确的值。 Composer会在主项目目录中而不是在我的扩展目录中读取.env。

问题:

是否可以在自己的扩展中要求和使用dotenv连接器,而与主要的TYPO3项目无关?

0 个答案:

没有答案