Skip to content

Composer ​

Type
Class
Namespace
craft\services
Inherits
craft\services\Composer » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable
Since
3.0.0

Composer service.

An instance of the service is available via Craft::$app->composer.

View source

Public Properties ​

PropertyDescription
behaviorsyii\base\Behavior – List of behaviors attached to this component.
composerRepoUrlstring
configarray
jsonPathstring
lockPathstring, null
maxBackupsinteger – The maximum number of composer.json and composer.lock backups to store in storage/composer-backups/

composerRepoUrl ​

Type
string
Default value
'https://composer.craftcms.com'

View source

config ​

Type
array
Default value
null
Access
Read-only
Since
3.5.15

View source

jsonPath ​

Type
string
Default value
null
Access
Read-only

View source

lockPath ​

Type
string, null
Default value
null
Access
Read-only

View source

maxBackups ​

Type
integer
Default value
50
Since
3.0.38

The maximum number of composer.json and composer.lock backups to store in storage/composer-backups/

View source

Public Methods ​

MethodDescription
__call()Calls the named method which is not a class method.
__clone()This method is called after the object is created by cloning an existing one.
__construct()Constructor.
__get()Returns the value of a component property.
__isset()Checks if a property is set, i.e. defined and not null.
__set()Sets the value of a component property.
__unset()Sets a component property to be null.
attachBehavior()Attaches a behavior to this component.
attachBehaviors()Attaches a list of behaviors to the component.
behaviors()Returns a list of behaviors that this component should behave as.
canGetProperty()Returns a value indicating whether a property can be read.
canSetProperty()Returns a value indicating whether a property can be set.
className()Returns the fully qualified name of this class.
detachBehavior()Detaches a behavior from the component.
detachBehaviors()Detaches all behaviors from the component.
ensureBehaviors()Makes sure that the behaviors declared in behaviors() are attached to this component.
getBehavior()Returns the named behavior object.
getBehaviors()Returns all behaviors attached to this component.
getConfig()Returns the Composer config defined by composer.json.
getJsonPath()Returns the path to composer.json.
getLockPath()Returns the path to composer.lock, if it exists.
hasEventHandlers()Returns a value indicating whether there is any handler attached to the named event.
hasMethod()Returns a value indicating whether a method is defined.
hasProperty()Returns a value indicating whether a property is defined for this component.
init()Initializes the object.
install()Installs a given set of packages with Composer.
off()Detaches an existing event handler from this component.
on()Attaches an event handler to an event.
sortPackages()
trigger()Triggers an event.
uninstall()Uninstalls a given set of packages with Composer.

getConfig() ​

Since
3.5.15

Returns the Composer config defined by composer.json.

View source

Returns ​

array

getJsonPath() ​

Returns the path to composer.json.

View source

Returns ​

string

Throws ​

getLockPath() ​

Returns the path to composer.lock, if it exists.

View source

Returns ​

string, null

Throws ​

install() ​

Installs a given set of packages with Composer.

View source

Arguments ​

  • $requirements (array, null) – Package name/version pairs, or set to null to run the equivalent of composer install
  • $io (\Composer\IO\IOInterface, null) – The IO object that Composer should be instantiated with

Throws ​

sortPackages() ​

View source

Arguments ​

  • $packages

uninstall() ​

Uninstalls a given set of packages with Composer.

View source

Arguments ​

  • $packages (string[]) – Package names
  • $io (\Composer\IO\IOInterface, null) – The IO object that Composer should be instantiated with

Throws ​

Protected Methods ​

MethodDescription
backupComposerFiles()Backs up the composer.json and composer.lock files to storage/composer-backups/
ensurePluginInstallerIsAllowed()Ensures composer.json has the craftcms/plugin-installer plugin marked as allowed.
updateRequirements()Updates the composer.json file with new requirements

backupComposerFiles() ​

Backs up the composer.json and composer.lock files to storage/composer-backups/

View source

ensurePluginInstallerIsAllowed() ​

Since
3.7.42

Ensures composer.json has the craftcms/plugin-installer plugin marked as allowed.

View source

Arguments ​

updateRequirements() ​

Updates the composer.json file with new requirements

View source

Arguments ​

  • $io (\Composer\IO\IOInterface)
  • $jsonPath (string)
  • $requirements (array)