class UpdateOperation
Solver update operation.
@author Konstantin Kudryashov <ever.zet@gmail.com>
Hierarchy
- class \Composer\DependencyResolver\Operation\SolverOperation implements \Composer\DependencyResolver\Operation\OperationInterface
- class \Composer\DependencyResolver\Operation\UpdateOperation extends \Composer\DependencyResolver\Operation\SolverOperation implements \Composer\DependencyResolver\Operation\OperationInterface
Expanded class hierarchy of UpdateOperation
5 files declare their use of UpdateOperation
- FileDownloader.php in vendor/
composer/ composer/ src/ Composer/ Downloader/ FileDownloader.php - InstallationManager.php in vendor/
composer/ composer/ src/ Composer/ Installer/ InstallationManager.php - Installer.php in vendor/
composer/ composer/ src/ Composer/ Installer.php - MetapackageInstaller.php in vendor/
composer/ composer/ src/ Composer/ Installer/ MetapackageInstaller.php - VcsDownloader.php in vendor/
composer/ composer/ src/ Composer/ Downloader/ VcsDownloader.php
File
-
vendor/
composer/ composer/ src/ Composer/ DependencyResolver/ Operation/ UpdateOperation.php, line 23
Namespace
Composer\DependencyResolver\OperationView source
class UpdateOperation extends SolverOperation implements OperationInterface {
protected const TYPE = 'update';
/**
* @var PackageInterface
*/
protected $initialPackage;
/**
* @var PackageInterface
*/
protected $targetPackage;
/**
* @param PackageInterface $initial initial package
* @param PackageInterface $target target package (updated)
*/
public function __construct(PackageInterface $initial, PackageInterface $target) {
$this->initialPackage = $initial;
$this->targetPackage = $target;
}
/**
* Returns initial package.
*/
public function getInitialPackage() : PackageInterface {
return $this->initialPackage;
}
/**
* Returns target package.
*/
public function getTargetPackage() : PackageInterface {
return $this->targetPackage;
}
/**
* @inheritDoc
*/
public function show($lock) : string {
return self::format($this->initialPackage, $this->targetPackage, $lock);
}
public static function format(PackageInterface $initialPackage, PackageInterface $targetPackage, bool $lock = false) : string {
$fromVersion = $initialPackage->getFullPrettyVersion();
$toVersion = $targetPackage->getFullPrettyVersion();
if ($fromVersion === $toVersion && $initialPackage->getSourceReference() !== $targetPackage->getSourceReference()) {
$fromVersion = $initialPackage->getFullPrettyVersion(true, PackageInterface::DISPLAY_SOURCE_REF);
$toVersion = $targetPackage->getFullPrettyVersion(true, PackageInterface::DISPLAY_SOURCE_REF);
}
elseif ($fromVersion === $toVersion && $initialPackage->getDistReference() !== $targetPackage->getDistReference()) {
$fromVersion = $initialPackage->getFullPrettyVersion(true, PackageInterface::DISPLAY_DIST_REF);
$toVersion = $targetPackage->getFullPrettyVersion(true, PackageInterface::DISPLAY_DIST_REF);
}
$actionName = VersionParser::isUpgrade($initialPackage->getVersion(), $targetPackage->getVersion()) ? 'Upgrading' : 'Downgrading';
return $actionName . ' <info>' . $initialPackage->getPrettyName() . '</info> (<comment>' . $fromVersion . '</comment> => <comment>' . $toVersion . '</comment>)';
}
}
Members
Title Sort descending | Modifiers | Object type | Summary | Overriden Title |
---|---|---|---|---|
SolverOperation::getOperationType | public | function | Returns operation type. | Overrides OperationInterface::getOperationType |
SolverOperation::__toString | public | function | @inheritDoc | Overrides OperationInterface::__toString |
UpdateOperation::$initialPackage | protected | property | ||
UpdateOperation::$targetPackage | protected | property | ||
UpdateOperation::format | public static | function | ||
UpdateOperation::getInitialPackage | public | function | Returns initial package. | |
UpdateOperation::getTargetPackage | public | function | Returns target package. | |
UpdateOperation::show | public | function | @inheritDoc | Overrides OperationInterface::show |
UpdateOperation::TYPE | protected | constant | @abstract must be redefined by extending classes | Overrides SolverOperation::TYPE |
UpdateOperation::__construct | public | function |