我想在Production和Development应用程序上下文之间切换。后端[BE]在哪里可以检查当前应用程序上下文并最终进行切换?在以前的Typo3版本中,可以在安装模块中使用。请适合初学者回答。
答案 0 :(得分:2)
TYPO3监听一个环境变量以切换它自己的上下文。应该在.htaccess
文件中进行设置:SetEnv TYPO3_CONTEXT Development
如果已设置,则可以使用php中的getenv(TYPO3_CONTEXT)
来访问它。
答案 1 :(得分:2)
要检索应用程序上下文,可以使用GeneralUtility中的getApplicationContext函数:
\TYPO3\CMS\Core\Utility\GeneralUtility::getApplicationContext()
您可以检查哪些ApplicationContext与以下功能一起使用:
$applicationContext = \TYPO3\CMS\Core\Utility\GeneralUtility::getApplicationContext();
$applicationContext->isDevelopment();
$applicationContext->isTesting();
$applicationContext->isProduction();
或者,您可以使用getenv('TYPO3_CONTEXT')
来检索ApplicationContext字符串(如果未在其他任何地方设置,则可能不存在,这就是为什么我建议使用GeneralUtility中的ApplicationContext函数的原因。)
您还可以通过在管理工具中的环境模块中检查PHP信息来检入TYPO3后端,您应该在其中找到类别Environment
。
如果没有其他设置,则默认的应用上下文为Production
。
您可以使用TYPO3_CONTEXT=Development
在.env文件中进行更改,并使用composer软件包helhum / dotenv-connector进行加载,也可以使用SetEnv TYPO3_CONTEXT Development
在.htaccess文件中进行设置。甚至可以在系统中定义它,但是最常见的方法是通过.env
或.htaccess
文件。
答案 2 :(得分:1)