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
$downloadPath  : string
$downloadQueue  : DownloadQueue
$eventDispatcher  : EventDispatcherInterface
$fileHandlingUtility  : FileHandlingUtility
$installUtility  : InstallUtility
$remoteRegistry  : RemoteRegistry
$skipDependencyCheck  : bool

Methods

__construct()  : mixed
downloadMainExtension()  : mixed
Downloads the extension the user wants to install This is separated from downloading the dependencies as an extension is able to provide it's 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
injectDownloadQueue()  : mixed
injectEventDispatcher()  : mixed
injectInstallUtility()  : mixed
installExtension()  : Extension>, installed?: array}|false
Install the extension
isAvailable()  : bool
Checks if an extension is available in the system
markExtensionForDownload()  : mixed
Mark an extension for download
markExtensionForInstallation()  : mixed
markExtensionForUpdate()  : mixed
reloadPackageInformation()  : mixed
setAutomaticInstallationEnabled()  : mixed
setDownloadPath()  : void
Set the download path
setSkipDependencyCheck()  : mixed
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

$downloadPath

protected string $downloadPath = 'Local'

$eventDispatcher

protected EventDispatcherInterface $eventDispatcher

$skipDependencyCheck

protected bool $skipDependencyCheck = false

Methods

downloadMainExtension()

Downloads the extension the user wants to install This is separated from downloading the dependencies as an extension is able to provide it's own dependencies

public downloadMainExtension(Extension $extension) : mixed
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>

injectEventDispatcher()

public injectEventDispatcher(EventDispatcherInterface $eventDispatcher) : mixed
Parameters
$eventDispatcher : EventDispatcherInterface

installExtension()

Install the extension

public installExtension(Extension $extension) : Extension>, installed?: array}|false
Parameters
$extension : Extension
Return values
Extension>, installed?: array}|false

Returns 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
bool

markExtensionForDownload()

Mark an extension for download

public markExtensionForDownload(Extension $extension) : mixed
Parameters
$extension : Extension

markExtensionForInstallation()

public markExtensionForInstallation(string $extensionKey) : mixed
Parameters
$extensionKey : string

setAutomaticInstallationEnabled()

public setAutomaticInstallationEnabled(bool $automaticInstallationEnabled) : mixed
Parameters
$automaticInstallationEnabled : bool

setSkipDependencyCheck()

Enables or disables the dependency check for system environment (PHP, TYPO3) before extension installation

public setSkipDependencyCheck(bool $skipDependencyCheck) : mixed
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?: array}

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>
Return values
Extension>}

        
On this page

Search results