class ComposerLoaderExtension extends Extension (View source)

Properties

protected SS_Object $owner

The object this extension is applied to.

from  Extension
protected DataObject $ownerBaseClass

The base class that this extension was applied to; $this->owner must be one of these

from  Extension
public $class from  Extension
protected Composer $composer

Methods

public
__construct()

No description

public static 
add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

public
setOwner(SS_Object $owner, string $ownerBaseClass = null)

Set the owner of this extension.

public
clearOwner()

No description

public
getOwner()

Returns the owner of this extension.

public static 
string
get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string thats passed to DataObject::$extensions or Object::add_extension().

public
$this
setComposer(Composer $composer)

No description

public
Composer
getComposer()

No description

public
array[]
getPackages(array $allowedTypes = null)

Retrieve an array of primary composer dependencies from composer.json.

protected
string
getInstalledConstraint(BaseRepository $repository, string $packageName)

Find all dependency constraints for the given package in the current repository and return the strictest one

public
onAfterBuild()

Builds an instance of Composer

Details

__construct()

No description

static add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

Parameters

string $class
string $extensionClass
mixed $args

setOwner(SS_Object $owner, string $ownerBaseClass = null)

Set the owner of this extension.

Parameters

SS_Object $owner

The owner object,

string $ownerBaseClass

The base class that the extension is applied to; this may be the class of owner, or it may be a parent. For example, if Versioned was applied to SiteTree, and then a Page object was instantiated, $owner would be a Page object, but $ownerBaseClass would be 'SiteTree'.

clearOwner()

No description

SS_Object getOwner()

Returns the owner of this extension.

Return Value

SS_Object

static string get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string thats passed to DataObject::$extensions or Object::add_extension().

Parameters

string $extensionStr

E.g. "Versioned('Stage','Live')"

Return Value

string

Extension classname, e.g. "Versioned"

$this setComposer(Composer $composer)

No description

Parameters

Composer $composer

Return Value

$this

Composer getComposer()

No description

Return Value

Composer

array[] getPackages(array $allowedTypes = null)

Retrieve an array of primary composer dependencies from composer.json.

Packages are filtered by allowed type.

Parameters

array $allowedTypes

An array of "allowed" package types. Dependencies in composer.json that do not match any of the given types are not returned.

Return Value

array[]

protected string getInstalledConstraint(BaseRepository $repository, string $packageName)

Find all dependency constraints for the given package in the current repository and return the strictest one

Parameters

BaseRepository $repository
string $packageName

Return Value

string

onAfterBuild()

Builds an instance of Composer