ExtensionManagementService implements SingletonInterface
Service class for managing multiple step processes (dependencies for example)
Table of Contents
Interfaces
- SingletonInterface
- "empty" interface for singletons (marker interface pattern)
Properties
- $automaticInstallationEnabled : bool
- $dependencyUtility : DependencyUtility
- $downloadQueue : DownloadQueue
- $eventDispatcher : EventDispatcherInterface
- $fileHandlingUtility : FileHandlingUtility
- $installUtility : InstallUtility
- $remoteRegistry : RemoteRegistry
- $skipDependencyCheck : bool
Methods
- __construct() : mixed
- downloadMainExtension() : void
- Downloads the extension the user wants to install This is separated from downloading the dependencies as an extension is able to provide its own dependencies
- getAndResolveDependencies() : array<string|int, mixed>
- Get and resolve dependencies
- getDependencyErrors() : array<string|int, mixed>
- Returns the unresolved dependency errors
- getExtension() : Extension
- injectDependencyUtility() : mixed
- injectInstallUtility() : mixed
-
installExtension()
: Extension>, installed?: array
} |false - Install the extension
- isAvailable() : bool
- Checks if an extension is available in the system
- markExtensionForDownload() : void
- Mark an extension for download
- markExtensionForInstallation() : void
- markExtensionForUpdate() : void
- reloadPackageInformation() : void
- setAutomaticInstallationEnabled() : void
- setSkipDependencyCheck() : void
- Enables or disables the dependency check for system environment (PHP, TYPO3) before extension installation
- checkDependencies() : bool
- Check dependencies for an extension and its required extensions
- downloadDependencies() : Extension>}
- Download dependencies expects an array of extension objects to download
-
installDependencies()
: array{installed?: array
} - Install dependent extensions
- rawDownload() : void
- uninstallDependenciesToBeUpdated() : Extension>}
- Uninstall extensions that will be updated This is not strictly necessary but cleaner all in all
Properties
$automaticInstallationEnabled
protected
bool
$automaticInstallationEnabled
= true
$dependencyUtility
protected
DependencyUtility
$dependencyUtility
$downloadQueue read-only
protected
DownloadQueue
$downloadQueue
$eventDispatcher read-only
protected
EventDispatcherInterface
$eventDispatcher
$fileHandlingUtility read-only
protected
FileHandlingUtility
$fileHandlingUtility
$installUtility
protected
InstallUtility
$installUtility
$remoteRegistry read-only
protected
RemoteRegistry
$remoteRegistry
$skipDependencyCheck
protected
bool
$skipDependencyCheck
= false
Methods
__construct()
public
__construct(RemoteRegistry $remoteRegistry, FileHandlingUtility $fileHandlingUtility, DownloadQueue $downloadQueue, EventDispatcherInterface $eventDispatcher) : mixed
Parameters
- $remoteRegistry : RemoteRegistry
- $fileHandlingUtility : FileHandlingUtility
- $downloadQueue : DownloadQueue
- $eventDispatcher : EventDispatcherInterface
downloadMainExtension()
Downloads the extension the user wants to install This is separated from downloading the dependencies as an extension is able to provide its own dependencies
public
downloadMainExtension(Extension $extension) : void
Parameters
- $extension : Extension
getAndResolveDependencies()
Get and resolve dependencies
public
getAndResolveDependencies(Extension $extension) : array<string|int, mixed>
Parameters
- $extension : Extension
Return values
array<string|int, mixed>getDependencyErrors()
Returns the unresolved dependency errors
public
getDependencyErrors() : array<string|int, mixed>
Return values
array<string|int, mixed>getExtension()
public
getExtension(string $extensionKey) : Extension
Parameters
- $extensionKey : string
Return values
ExtensioninjectDependencyUtility()
public
injectDependencyUtility(DependencyUtility $dependencyUtility) : mixed
Parameters
- $dependencyUtility : DependencyUtility
injectInstallUtility()
public
injectInstallUtility(InstallUtility $installUtility) : mixed
Parameters
- $installUtility : InstallUtility
installExtension()
Install the extension
public
installExtension(Extension $extension) : Extension>, installed?: array} |false
Parameters
- $extension : Extension
Return values
Extension>, installed?: arrayReturns FALSE if dependencies cannot be resolved, otherwise array with installation information
isAvailable()
Checks if an extension is available in the system
public
isAvailable(string $extensionKey) : bool
Parameters
- $extensionKey : string
Return values
boolmarkExtensionForDownload()
Mark an extension for download
public
markExtensionForDownload(Extension $extension) : void
Parameters
- $extension : Extension
markExtensionForInstallation()
public
markExtensionForInstallation(string $extensionKey) : void
Parameters
- $extensionKey : string
markExtensionForUpdate()
public
markExtensionForUpdate(Extension $extension) : void
Parameters
- $extension : Extension
reloadPackageInformation()
public
reloadPackageInformation(string $extensionKey) : void
Parameters
- $extensionKey : string
setAutomaticInstallationEnabled()
public
setAutomaticInstallationEnabled(bool $automaticInstallationEnabled) : void
Parameters
- $automaticInstallationEnabled : bool
setSkipDependencyCheck()
Enables or disables the dependency check for system environment (PHP, TYPO3) before extension installation
public
setSkipDependencyCheck(bool $skipDependencyCheck) : void
Parameters
- $skipDependencyCheck : bool
checkDependencies()
Check dependencies for an extension and its required extensions
protected
checkDependencies(Extension $extension) : bool
Parameters
- $extension : Extension
Return values
bool —Returns TRUE if all dependencies can be resolved, otherwise FALSE
downloadDependencies()
Download dependencies expects an array of extension objects to download
protected
downloadDependencies(array<string|int, Extension> $downloadQueue) : Extension>}
Parameters
- $downloadQueue : array<string|int, Extension>
Return values
Extension>}installDependencies()
Install dependent extensions
protected
installDependencies(array<string|int, mixed> $installQueue) : array{installed?: array}
Parameters
- $installQueue : array<string|int, mixed>
Return values
array{installed?: arrayrawDownload()
protected
rawDownload(Extension $extension) : void
Parameters
- $extension : Extension
uninstallDependenciesToBeUpdated()
Uninstall extensions that will be updated This is not strictly necessary but cleaner all in all
protected
uninstallDependenciesToBeUpdated(array<string|int, Extension> $updateQueue) : Extension>}
Parameters
- $updateQueue : array<string|int, Extension>