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 Composer service is globally accessible in Craft via Craft::$app->composer.

View source

# Public Properties

Property Description
behaviors yii\base\Behavior – List of behaviors attached to this component
composerRepoUrl string
disablePackagist boolean
jsonPath string
lockPath string, null
maxBackups integer – The maximum number of composer.
updateComposerClassMap boolean – Whether to generate a new Composer class map, rather than preloading all of the classes in the current class map

# composerRepoUrl

Type
string

View source

# disablePackagist

Type
boolean

View source

# jsonPath

Type
string
Access
Read-only

View source

# lockPath

Type
string, null
Access
Read-only

View source

# maxBackups

Type
integer
Since
3.0.38

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

View source

# updateComposerClassMap

Type
boolean

Whether to generate a new Composer class map, rather than preloading all of the classes in the current class map

View source

# Public Methods

Method Description
__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 an object property.
__isset() Checks if a property is set, i.e. defined and not null.
__set() Sets value of an object property.
__unset() Sets an object property to 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.
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.
init() Initializes the object.
install() Installs a given set of packages with Composer.
logComposerClass() Adds an autoloading class to the Composer class map
off() Detaches an existing event handler from this component.
on() Attaches an event handler to an event.
optimize() Optimizes the Composer autoloader.
trigger() Triggers an event.
uninstall() Uninstalls a given set of packages with Composer.

# 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
  • $whitelist (array, boolean) – List of package names to whitelist, true if that should be determined dynamically, or false if no whitelist should be used.

Throws

# logComposerClass()

Adds an autoloading class to the Composer class map

View source

Arguments

# optimize()

Optimizes the Composer autoloader.

View source

Arguments

  • $io (\Composer\IO\IOInterface, null) – The IO object that Composer should be instantiated with

Throws

# 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

Method Description
_ensureHomeVar() Ensures that HOME/APPDATA or COMPOSER_HOME env vars have been set.
backupComposerFiles() Backs up the composer.json and composer.lock files to storage/composer-backups/
composerConfig() Returns the decoded Composer config, modified to use composer.craftcms.com instead of packagist.org.
createComposer() Creates a new Composer instance.
findCraftRepo()
findDisablePackagist()
preloadComposerClasses() Preloads Composer classes in case Composer needs to update itself
updateRequirements() Updates the composer.json file with new requirements

# _ensureHomeVar()

Ensures that HOME/APPDATA or COMPOSER_HOME env vars have been set.

View source

# backupComposerFiles()

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

View source

# composerConfig()

Returns the decoded Composer config, modified to use composer.craftcms.com instead of packagist.org.

View source

Arguments

  • $io (\Composer\IO\IOInterface)
  • $jsonPath (string)
  • $prepForUpdate (boolean)

Returns

array

# createComposer()

Creates a new Composer instance.

View source

Arguments

  • $io (\Composer\IO\IOInterface)
  • $jsonPath (string)
  • $prepForUpdate (boolean)

Returns

\Composer\Composer

# findCraftRepo()

View source

Arguments

  • $config

# findDisablePackagist()

View source

Arguments

  • $config

# preloadComposerClasses()

Preloads Composer classes in case Composer needs to update itself

View source

# updateRequirements()

Updates the composer.json file with new requirements

View source

Arguments

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