Composer

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

Composer service.

An instance of the Composer service is globally accessible in Craft via Craft::$app->composer.

View source

Public Properties

PropertyDescription
$behaviorsyii\base\Behavior – List of behaviors attached to this component
$composerRepoUrlstring
$disablePackagistboolean
$jsonPathstring
$lockPathstring, null
$updateComposerClassMapboolean – Whether to generate a new Composer class map, rather than preloading all of the classes in the current class map

$composerRepoUrl

Signature

public string $composerRepoUrl = 'https://composer.craftcms.com/'

$disablePackagist

Signature

public boolean $disablePackagist = true

$jsonPath

Type
string
Access
Read-only

View source

Signature

public string getJsonPath ( )

$lockPath

Type
string, null
Access
Read-only

View source

Signature

public string, null getLockPath ( )

$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

Signature

public boolean $updateComposerClassMap = false

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

Signature

public string getJsonPath ( )

getLockPath()

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

View source

Returns

string, null

Throws

Signature

public string, null getLockPath ( )

install()

Installs a given set of packages with Composer.

View source

Arguments

  • $requirements (array) – Package name/version pairs
  • $io (\Composer\IO\IOInterface, null) – The IO object that Composer should be instantiated with

Throws

Signature

public void install ( array $requirements, \Composer\IO\IOInterface $io = null )

logComposerClass()

Adds an autoloading class to the Composer class map

View source

Arguments

Signature

public void logComposerClass ( \craft\services\string $className )

optimize()

Optimizes the Composer autoloader.

View source

Arguments

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

Throws

Signature

public void optimize ( \Composer\IO\IOInterface $io = null )

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

Signature

public void uninstall ( array $packages, \Composer\IO\IOInterface $io = null )

Protected Methods

MethodDescription
_ensureHomeVar()Ensures that HOME/APPDATA or COMPOSER_HOME env vars have been set.
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

Signature

protected void _ensureHomeVar ( )

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

Signature

protected array composerConfig ( \Composer\IO\IOInterface $io, \craft\services\string $jsonPath, \craft\services\bool $prepForUpdate = true )

createComposer()

Creates a new Composer instance.

View source

Arguments

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

Returns

\Composer\Composer

Signature

protected \Composer\Composer createComposer ( \Composer\IO\IOInterface $io, \craft\services\string $jsonPath, \craft\services\bool $prepForUpdate = true )

findCraftRepo()

View source

Arguments

  • $config

Signature

protected void findCraftRepo ( array $config )

findDisablePackagist()

View source

Arguments

  • $config

Signature

protected void findDisablePackagist ( array $config )

preloadComposerClasses()

Preloads Composer classes in case Composer needs to update itself

View source

Signature

protected void preloadComposerClasses ( )

updateRequirements()

Updates the composer.json file with new requirements

View source

Arguments

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

Signature

protected void updateRequirements ( \Composer\IO\IOInterface $io, \craft\services\string $jsonPath, array $requirements )