Как найти двоичный файл TYPO3 (опечатка3)
Начиная с TYPO3 11 LTS
typo3
двоичный файл не находится в
sysext/core/bin/
больше, по крайней мере, не в режиме композитора, поэтому мне нужно найти новый способ найти
bin-dir
от композитора в режиме композитора.
Следует ли мне использовать пакет composer / composer для его анализа? мне нужно
root
композитор, а не для TYPO3 Crawler.
if (TYPO3_COMPOSER_MODE) {
// How to find the composer-bin dir?
} else {
$typo3BinaryPath = ExtensionManagementUtility::extPath('core') . 'bin/';
}
Есть предложения, как с этим бороться? Можно добавить его как параметр, чтобы он был частью настроек расширения.
1 ответ
Я пошел на это решение. Но был бы рад услышать о других / лучших решениях.
private function getComposerBinPath(): string
{
$composerRootPath = Environment::getComposerRootPath();
$composerJson = json_decode(file_get_contents($composerRootPath . '/composer.json'), true);
$binDir = $composerJson['config']['bin-dir'] ?? 'vendor/bin';
return $composerRootPath . '/' . $binDir . '/';
}
Это реализация в TYPO3 Core для расширения Scheduler.