‪TYPO3CMS  10.4
TYPO3\CMS\Extensionmanager\Utility\DependencyUtility Class Reference
Inheritance diagram for TYPO3\CMS\Extensionmanager\Utility\DependencyUtility:
TYPO3\CMS\Core\SingletonInterface

Public Member Functions

 injectExtensionRepository (ExtensionRepository $extensionRepository)
 
 injectListUtility (ListUtility $listUtility)
 
 injectEmConfUtility (EmConfUtility $emConfUtility)
 
 injectManagementService (ExtensionManagementService $managementService)
 
 setLocalExtensionStorage ($localExtensionStorage)
 
 setSkipDependencyCheck ($skipDependencyCheck)
 
 checkDependencies (Extension $extension)
 
bool hasDependencyErrors ()
 
array getDependencyErrors ()
 
array findInstalledExtensionsThatDependOnMe ($extensionKey)
 
array getExtensionsSuitableForTypo3Version ($extensions)
 
Extension[] filterYoungestVersionOfExtensionList (array $extensions, $showUnsuitable)
 

Protected Member Functions

 setAvailableExtensions ()
 
bool checkTypo3Dependency (Dependency $dependency)
 
bool checkPhpDependency (Dependency $dependency)
 
bool checkExtensionDependency (Dependency $dependency)
 
 getExtensionFromRepository ($extensionKey, Dependency $dependency)
 
bool getExtensionFromInExtensionRepository ($extensionKey)
 
 getExtensionFromTer ($extensionKey, Dependency $dependency)
 
bool isDependentExtensionLoaded ($extensionKey)
 
bool isLoadedVersionCompatible (Dependency $dependency)
 
bool isVersionCompatible ($version, Dependency $dependency)
 
bool isDependentExtensionAvailable ($extensionKey)
 
bool isAvailableVersionCompatible (Dependency $dependency)
 
bool isExtensionDownloadableFromTer ($extensionKey)
 
bool isDownloadableVersionCompatible (Dependency $dependency)
 
Extension null getCompatibleExtension (iterable $extensions)
 
Extension getLatestCompatibleExtensionByIntegerVersionDependency (Dependency $dependency)
 
array getLowestAndHighestIntegerVersions (Dependency $dependency)
 

Protected Attributes

ExtensionRepository $extensionRepository
 
ListUtility $listUtility
 
EmConfUtility $emConfUtility
 
ExtensionManagementService $managementService
 
array $availableExtensions = array( )
 
string $localExtensionStorage = ''
 
array $dependencyErrors = array( )
 
bool $skipDependencyCheck = false
 

Detailed Description

Utility for dealing with dependencies

This class is a specific ExtensionManager implementation and is not part of the Public TYPO3 API.

Definition at line 37 of file DependencyUtility.php.

Member Function Documentation

◆ checkDependencies()

◆ checkExtensionDependency()

bool TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::checkExtensionDependency ( Dependency  $dependency)
protected

◆ checkPhpDependency()

bool TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::checkPhpDependency ( Dependency  $dependency)
protected

Returns true if current php version fulfills extension requirements

Parameters
Dependency$dependency
Exceptions
Exception

Definition at line 227 of file DependencyUtility.php.

References TYPO3\CMS\Extensionmanager\Domain\Model\Dependency\getHighestVersion(), TYPO3\CMS\Extensionmanager\Domain\Model\Dependency\getIdentifier(), and TYPO3\CMS\Extensionmanager\Domain\Model\Dependency\getLowestVersion().

◆ checkTypo3Dependency()

bool TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::checkTypo3Dependency ( Dependency  $dependency)
protected

◆ filterYoungestVersionOfExtensionList()

Extension [] TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::filterYoungestVersionOfExtensionList ( array  $extensions,
  $showUnsuitable 
)

Gets a list of various extensions in various versions and returns a filtered list containing the extension-version combination with the highest version number.

Parameters
Extension[]$extensions
bool$showUnsuitable
Returns
‪Extension[]

Definition at line 637 of file DependencyUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\getExtensionsSuitableForTypo3Version().

◆ findInstalledExtensionsThatDependOnMe()

array TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::findInstalledExtensionsThatDependOnMe (   $extensionKey)
Parameters
string$extensionKey
Returns
‪array

Definition at line 586 of file DependencyUtility.php.

◆ getCompatibleExtension()

Extension null TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::getCompatibleExtension ( iterable  $extensions)
protected

Get the latest compatible version of an extension that's compatible with the current core and PHP version.

Parameters
iterable$extensions
Returns
‪Extension|null

Definition at line 527 of file DependencyUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\checkDependencies().

Referenced by TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\getLatestCompatibleExtensionByIntegerVersionDependency().

◆ getDependencyErrors()

array TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::getDependencyErrors ( )

Return the dependency errors

Returns
‪array

Definition at line 183 of file DependencyUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\$dependencyErrors.

◆ getExtensionFromInExtensionRepository()

bool TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::getExtensionFromInExtensionRepository (   $extensionKey)
protected

Gets an extension from the in extension repository (the local extension storage)

Parameters
string$extensionKey
Returns
‪bool

Definition at line 359 of file DependencyUtility.php.

References TYPO3\CMS\Core\Utility\GeneralUtility\get_dirs().

Referenced by TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\getExtensionFromRepository().

◆ getExtensionFromRepository()

TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::getExtensionFromRepository (   $extensionKey,
Dependency  $dependency 
)
protected

Get an extension from a repository (might be in the extension itself or the TER)

Parameters
string$extensionKey
Dependency$dependency
Exceptions
Exception

Definition at line 345 of file DependencyUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\getExtensionFromInExtensionRepository(), and TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\getExtensionFromTer().

Referenced by TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\checkExtensionDependency().

◆ getExtensionFromTer()

◆ getExtensionsSuitableForTypo3Version()

array TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::getExtensionsSuitableForTypo3Version (   $extensions)

Get extensions (out of a given list) that are suitable for the current TYPO3 version

Parameters
\TYPO3\CMS\Extbase\Persistence\QueryResultInterface | array$extensions‪List of extensions to check
Returns
‪array List of extensions suitable for current TYPO3 version

Definition at line 606 of file DependencyUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\checkTypo3Dependency().

Referenced by TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\filterYoungestVersionOfExtensionList().

◆ getLatestCompatibleExtensionByIntegerVersionDependency()

Extension TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::getLatestCompatibleExtensionByIntegerVersionDependency ( Dependency  $dependency)
protected

◆ getLowestAndHighestIntegerVersions()

array TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::getLowestAndHighestIntegerVersions ( Dependency  $dependency)
protected

◆ hasDependencyErrors()

bool TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::hasDependencyErrors ( )

Returns TRUE if a dependency error was found

Returns
‪bool

Definition at line 173 of file DependencyUtility.php.

◆ injectEmConfUtility()

TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::injectEmConfUtility ( EmConfUtility  $emConfUtility)
Parameters
EmConfUtility$emConfUtility

Definition at line 90 of file DependencyUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\$emConfUtility.

◆ injectExtensionRepository()

TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::injectExtensionRepository ( ExtensionRepository  $extensionRepository)
Parameters
ExtensionRepository$extensionRepository

Definition at line 74 of file DependencyUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\$extensionRepository.

◆ injectListUtility()

TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::injectListUtility ( ListUtility  $listUtility)
Parameters
ListUtility$listUtility

Definition at line 82 of file DependencyUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\$listUtility.

◆ injectManagementService()

TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::injectManagementService ( ExtensionManagementService  $managementService)
Parameters
ExtensionManagementService$managementService

Definition at line 98 of file DependencyUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\$managementService.

◆ isAvailableVersionCompatible()

bool TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::isAvailableVersionCompatible ( Dependency  $dependency)
protected

◆ isDependentExtensionAvailable()

bool TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::isDependentExtensionAvailable (   $extensionKey)
protected

Checks whether the needed extension is available (not necessarily installed, but present in system)

Parameters
string$extensionKey
Returns
‪bool

Definition at line 470 of file DependencyUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\setAvailableExtensions().

Referenced by TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\checkExtensionDependency().

◆ isDependentExtensionLoaded()

bool TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::isDependentExtensionLoaded (   $extensionKey)
protected

◆ isDownloadableVersionCompatible()

bool TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::isDownloadableVersionCompatible ( Dependency  $dependency)
protected

Checks whether a compatible version of the extension exists in TER

Parameters
Dependency$dependency
Returns
‪bool

Definition at line 509 of file DependencyUtility.php.

References TYPO3\CMS\Extensionmanager\Domain\Model\Dependency\getIdentifier(), and TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\getLowestAndHighestIntegerVersions().

Referenced by TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\getExtensionFromTer().

◆ isExtensionDownloadableFromTer()

bool TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::isExtensionDownloadableFromTer (   $extensionKey)
protected

Checks whether a ter extension with $extensionKey exists

Parameters
string$extensionKey
Returns
‪bool

Definition at line 498 of file DependencyUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\getExtensionFromTer().

◆ isLoadedVersionCompatible()

bool TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::isLoadedVersionCompatible ( Dependency  $dependency)
protected

◆ isVersionCompatible()

bool TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::isVersionCompatible (   $version,
Dependency  $dependency 
)
protected

◆ setAvailableExtensions()

TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::setAvailableExtensions ( )
protected

Setter for available extensions gets available extensions from list utility if not already done

Definition at line 115 of file DependencyUtility.php.

Referenced by TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\isAvailableVersionCompatible(), and TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\isDependentExtensionAvailable().

◆ setLocalExtensionStorage()

TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::setLocalExtensionStorage (   $localExtensionStorage)
Parameters
string$localExtensionStorage

Definition at line 106 of file DependencyUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\$localExtensionStorage.

◆ setSkipDependencyCheck()

TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::setSkipDependencyCheck (   $skipDependencyCheck)
Parameters
bool$skipDependencyCheck

Definition at line 123 of file DependencyUtility.php.

References TYPO3\CMS\Extensionmanager\Utility\DependencyUtility\$skipDependencyCheck.

Member Data Documentation

◆ $availableExtensions

array TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::$availableExtensions = array( )
protected

Definition at line 57 of file DependencyUtility.php.

◆ $dependencyErrors

array TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::$dependencyErrors = array( )
protected

◆ $emConfUtility

EmConfUtility TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::$emConfUtility
protected

◆ $extensionRepository

ExtensionRepository TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::$extensionRepository
protected

◆ $listUtility

ListUtility TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::$listUtility
protected

◆ $localExtensionStorage

string TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::$localExtensionStorage = ''
protected

◆ $managementService

ExtensionManagementService TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::$managementService
protected

◆ $skipDependencyCheck

bool TYPO3\CMS\Extensionmanager\Utility\DependencyUtility::$skipDependencyCheck = false
protected