Class Yiisoft\YiiDevTool\Infrastructure\Composer\Config\Dependency\ComposerConfigDependencyList
| Inheritance | Yiisoft\YiiDevTool\Infrastructure\Composer\Config\Dependency\ComposerConfigDependencyList |
|---|
Public Methods
Method Details
| public mixed __construct ( array|null $dependenciesAsArray = null ) | ||
| $dependenciesAsArray | array|null | |
public function __construct(?array $dependenciesAsArray = null)
{
if ($dependenciesAsArray !== null) {
foreach ($dependenciesAsArray as $packageName => $constraint) {
$this->dependencies[$packageName] = new ComposerConfigDependency($packageName, $constraint);
}
}
}
| public self addDependency ( string $packageName, string $constraint ) | ||
| $packageName | string | |
| $constraint | string | |
public function addDependency(string $packageName, string $constraint): self
{
if ($this->hasDependency($packageName)) {
throw new RuntimeException('A package with this name already exists in the list.');
}
$this->dependencies[$packageName] = new ComposerConfigDependency($packageName, $constraint);
return $this;
}
| public array asArray ( ) |
public function asArray(): array
{
$result = [];
foreach ($this->dependencies as $dependency) {
$result[$dependency->getPackageName()] = $dependency->getConstraint();
}
return $result;
}
| public Yiisoft\YiiDevTool\Infrastructure\Composer\Config\Dependency\ComposerConfigDependency[] getDependencies ( ) |
public function getDependencies(): array
{
return $this->dependencies;
}
| public Yiisoft\YiiDevTool\Infrastructure\Composer\Config\Dependency\ComposerConfigDependency getDependency ( string $packageName ) | ||
| $packageName | string | |
public function getDependency(string $packageName): ComposerConfigDependency
{
if (!$this->hasDependency($packageName)) {
throw new RuntimeException('A package with this name does not exist in the list.');
}
return $this->dependencies[$packageName];
}
| public boolean hasDependency ( string $packageName ) | ||
| $packageName | string | |
public function hasDependency(string $packageName): bool
{
return array_key_exists($packageName, $this->dependencies);
}
| public boolean isEqualTo ( self $otherList ) | ||
| $otherList | self | |
public function isEqualTo(self $otherList): bool
{
return $this->asArray() === $otherList->asArray();
}
| public self removeDependencies ( array $packageNamesToRemove ) | ||
| $packageNamesToRemove | array | |
public function removeDependencies(array $packageNamesToRemove): self
{
foreach ($packageNamesToRemove as $packageNameToRemove) {
if (!is_string($packageNameToRemove)) {
throw new InvalidArgumentException('Package names must be strings.');
}
}
foreach ($packageNamesToRemove as $packageNameToRemove) {
$this->removeDependency($packageNameToRemove);
}
return $this;
}
| public self removeDependency ( string $packageNameToRemove ) | ||
| $packageNameToRemove | string | |
public function removeDependency(string $packageNameToRemove): self
{
unset($this->dependencies[$packageNameToRemove]);
return $this;
}
| public self sort ( ) |
public function sort(): self
{
uasort($this->dependencies, function ($a, $b) {
/* @var $a ComposerConfigDependency */
/* @var $b ComposerConfigDependency */
if ($a->getPriority() === $b->getPriority()) {
return strnatcmp($a->getPackageName(), $b->getPackageName());
}
return $a->getPriority() - $b->getPriority();
});
return $this;
}
Signup or Login in order to comment.