[TYPO3-english] Re: TYPO3 via Composer integration
Viktor Livakivskyi
invisible.kinder at gmail.com
Wed Mar 25 12:19:45 CET 2015
Hi, again.
I thought all is fine under 6.2.10.
6.2.11 was released, which breaks the flow, unfortunately.
Under same circumstances I'm getting:
PHP Catchable fatal error: Argument 1 passed to TYPO3\CMS\Core\Core\ClassAliasMap::injectComposerClassLoader() must be an instance of Helhum\ClassAliasLoader\Composer\ClassAliasLoader, instance of Composer\Autoload\ClassLoader given, called in /path/typo3_src/typo3/sysext/core/Classes/Core/Bootstrap.php on line 284 and defined in /path/typo3_src/typo3/sysext/core/Classes/Core/ClassAliasMap.php on line 86
This happens on early Bootstraping:
1. Bootstrap->baseSetup() is called, which calls $this->initializeComposerClassLoader();
2. initializeComposerClassLoader() looks for '/../../../../../../Packages/Libraries/autoload.php' file, which is present in a system and icludes it
3. Bootstrap->baseSetup() calls $this->setEarlyInstance('Composer\\Autoload\\ClassLoader', $composerClassLoader);
4. Since $composerClassLoader contains result of /Packages/Libraries/autoload.php it contains instance of \Composer\Autoload\ClassLoader (look at composer/autoload_real.php: self::$loader = $loader = new \Composer\Autoload\ClassLoader();)
5. Bootstrap->initializeClassLoader() is called, which calls $classAliasMap->injectComposerClassLoader($this->getEarlyInstance('Composer\\Autoload\\ClassLoader'));
6. injectComposerClassLoader() expects instance of Helhum\ClassAliasLoader\Composer\ClassAliasLoader, but it will never be there, because we've set \Composer\Autoload\ClassLoader on step 3 before!
So, my questions are:
1. Does anyone using Composer class loader on 6.2?
2. What am I doing wrong here?
3. Is it a bug?
More information about the TYPO3-english
mailing list