Я бы хотел переключиться между контекстом приложения «Производство» и «Разработка». Где в бэкэнде [BE] есть возможность проверить текущий контекст приложения и в конечном итоге переключить его? В предыдущих версиях Typo3 это было возможно в модуле установки. Пожалуйста, начинающий дружелюбный ответ.
Для получения контекста приложения вы можете использовать функцию getApplicationContext из GeneralUtility:
\TYPO3\CMS\Core\Utility\GeneralUtility::getApplicationContext()
Вы можете проверить, какой ApplicationContext используется с этими функциями:
$applicationContext = \TYPO3\CMS\Core\Utility\GeneralUtility::getApplicationContext();
$applicationContext->isDevelopment();
$applicationContext->isTesting();
$applicationContext->isProduction();
В качестве альтернативы вы можете использовать getenv('TYPO3_CONTEXT')
чтобы получить строку ApplicationContext (которая, возможно, не существует, если не установлена где-либо еще, поэтому я рекомендую использовать функции ApplicationContext из GeneralUtility).
Вы также можете проверить в TYPO3 Backend, проверив информацию PHP в модуле Environment в инструментах администратора, где вы должны найти категорию Environment
,
Контекст приложения по умолчанию, если он не установлен чем-либо еще, Production
,
Вы можете изменить его в файле .env с помощью TYPO3_CONTEXT=Development
и загрузив его, например, с помощью пакета composer helhum / dotenv-connector или установив его в файле .htaccess с помощью SetEnv TYPO3_CONTEXT Development
, Можно даже определить его в системе, но наиболее распространенный метод — через .env
или .htaccess
файл.
Есть переменная окружения, которую слушает TYPO3, чтобы переключить свой собственный контекст. Должно быть установлено что-то вроде .htaccess
файл: SetEnv TYPO3_CONTEXT Development
Если он установлен, вы можете получить к нему доступ с помощью getenv(TYPO3_CONTEXT)
в php.