Project

General

Profile

Actions

Bug #59868

closed

EM does not properly resolve dependencies

Added by Xavier Perseguers almost 10 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
-
Target version:
-
Start date:
2014-06-25
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
6.2
PHP Version:
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

How to reproduce:

  • Manually download EXT:yag
  • Ensure you don't have the dependencies locally
  • Activate EXT:yag

Class Tx_PtExtbase_Utility_FeBeModeDetector does not exist

15 ReflectionParameter::getClass()

/path/to/typo3/sysext/extbase/Classes/Object/Container/ClassInfoFactory.php:
00089:      $reflectionParameter = $reflectionMethod->getParameters();
00090:      if (isset($reflectionParameter[0])) {
00091:       if (!$reflectionParameter[0]->getClass()) {
00092:        throw new \Exception('Method "' . $reflectionMethod->getName() . '" of class "' . $reflectedClass->getName() . '" is marked as setter for Dependency Injection, but does not have a type annotation');
00093:       }

14 TYPO3\CMS\Extbase\Object\Container\ClassInfoFactory::getInjectMethods(ReflectionClass)

/path/to/typo3/sysext/extbase/Classes/Object/Container/ClassInfoFactory.php:
00038:   }
00039:   $constructorArguments = $this->getConstructorArguments($reflectedClass);
00040:   $injectMethods = $this->getInjectMethods($reflectedClass);
00041:   $injectProperties = $this->getInjectProperties($reflectedClass);
00042:   $isSingleton = $this->getIsSingleton($className);

13 TYPO3\CMS\Extbase\Object\Container\ClassInfoFactory::buildClassInfoFromClassName("Tx_Yag_Utility_PidDetector")

/path/to/typo3/sysext/extbase/Classes/Object/Container/Container.php:
00309:   $classInfo = $this->getClassInfoCache()->get($classNameHash);
00310:   if (!$classInfo instanceof \TYPO3\CMS\Extbase\Object\Container\ClassInfo) {
00311:    $classInfo = $this->getClassInfoFactory()->buildClassInfoFromClassName($className);
00312:    $this->getClassInfoCache()->set($classNameHash, $classInfo);
00313:   }

12 TYPO3\CMS\Extbase\Object\Container\Container::getClassInfo("Tx_Yag_Utility_PidDetector")

/path/to/typo3/sysext/extbase/Classes/Object/Container/Container.php:
00151:    return $this->singletonInstances[$className];
00152:   }
00153:   $classInfo = $this->getClassInfo($className);
00154:   $classIsSingleton = $classInfo->getIsSingleton();
00155:   if (!$classIsSingleton) {

11 TYPO3\CMS\Extbase\Object\Container\Container::getInstanceInternal("Tx_Yag_Utility_PidDetector")

/path/to/typo3/sysext/extbase/Classes/Object/Container/Container.php:
00207:   }
00208:   foreach ($classInfo->getInjectMethods() as $injectMethodName => $classNameToInject) {
00209:    $instanceToInject = $this->getInstanceInternal($classNameToInject);
00210:    if ($classInfo->getIsSingleton() && !$instanceToInject instanceof \TYPO3\CMS\Core\SingletonInterface) {
00211:     $this->log('The singleton "' . $classInfo->getClassName() . '" needs a prototype in "' . $injectMethodName . '". This is often a bad code smell; often you rather want to inject a singleton.', 1);

10 TYPO3\CMS\Extbase\Object\Container\Container::injectDependencies(Tx_Yag_Extbase_Persistence_Backend, TYPO3\CMS\Extbase\Object\Container\ClassInfo)
Actions #1

Updated by Xavier Perseguers almost 10 years ago

Actually in TER I see that this extension has other dependencies, seems that they are not properly resolved when extension is available locally and is being activated in EM without having the dependencies locally.

Actions #2

Updated by Daniel Lienert almost 10 years ago

  • Status changed from New to Needs Feedback

Hey Xavier,

sounds more like an Extension Manager issue.
Does the installation of pt_extbase and pt_extlist help?

Cheers,
Daniel

Actions #3

Updated by Xavier Perseguers almost 10 years ago

  • Project changed from 998 to TYPO3 Core

Nothing to do with YAG in se.

Actions #4

Updated by Xavier Perseguers almost 10 years ago

  • Subject changed from EM crashes in TYPO3 6.2 to EM does not properly resolve dependencies
  • Status changed from Needs Feedback to New
  • Is Regression set to No
  • TYPO3 Version set to 6.2
Actions #5

Updated by Markus Klein almost 10 years ago

Hi!

When did you try that? I had to revert a patch of mine recently (#59831) that caused severe troubles in the PackageManager.
It was only in for 2 days (22.6. - 24.6.)

Actions #6

Updated by Markus Klein over 9 years ago

  • Status changed from New to Needs Feedback
Actions #7

Updated by Alexander Opitz over 9 years ago

  • Status changed from Needs Feedback to Closed

No feedback within the last 90 days => closing this issue.

If you think that this is the wrong decision or experience this issue again, then please write to the mailing list typo3.teams.bugs with issue number and an explanation or open a new ticket and add a relation to this ticket number.

Actions

Also available in: Atom PDF