本文整理汇总了PHP中Composer\DependencyResolver\Pool::literalToPrettyString方法的典型用法代码示例。如果您正苦于以下问题:PHP Pool::literalToPrettyString方法的具体用法?PHP Pool::literalToPrettyString怎么用?PHP Pool::literalToPrettyString使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Composer\DependencyResolver\Pool
的用法示例。
在下文中一共展示了Pool::literalToPrettyString方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPrettyString
public function getPrettyString(Pool $pool, array $installedMap = array())
{
$ruleText = '';
foreach ($this->literals as $i => $literal) {
if ($i != 0) {
$ruleText .= '|';
}
$ruleText .= $pool->literalToPrettyString($literal, $installedMap);
}
switch ($this->getReason()) {
case self::RULE_INTERNAL_ALLOW_UPDATE:
return $ruleText;
case self::RULE_JOB_INSTALL:
return "Install command rule ({$ruleText})";
case self::RULE_JOB_REMOVE:
return "Remove command rule ({$ruleText})";
case self::RULE_PACKAGE_CONFLICT:
$package1 = $pool->literalToPackage($this->literals[0]);
$package2 = $pool->literalToPackage($this->literals[1]);
return $package1->getPrettyString() . ' conflicts with ' . $this->formatPackagesUnique($pool, array($package2)) . '.';
case self::RULE_PACKAGE_REQUIRES:
$literals = $this->literals;
$sourceLiteral = array_shift($literals);
$sourcePackage = $pool->literalToPackage($sourceLiteral);
$requires = array();
foreach ($literals as $literal) {
$requires[] = $pool->literalToPackage($literal);
}
$text = $this->reasonData->getPrettyString($sourcePackage);
if ($requires) {
$text .= ' -> satisfiable by ' . $this->formatPackagesUnique($pool, $requires) . '.';
} else {
$targetName = $this->reasonData->getTarget();
if ($targetName === 'php' || $targetName === 'php-64bit' || $targetName === 'hhvm') {
// handle php/hhvm
if (defined('HHVM_VERSION')) {
return $text . ' -> your HHVM version does not satisfy that requirement.';
} elseif ($targetName === 'hhvm') {
return $text . ' -> you are running this with PHP and not HHVM.';
} else {
$packages = $pool->whatProvides($targetName);
$package = count($packages) ? current($packages) : phpversion();
if (!$package instanceof CompletePackage) {
return $text . ' -> your PHP version (' . phpversion() . ') does not satisfy that requirement.';
}
$extra = $package->getExtra();
if (!empty($extra['config.platform'])) {
$text .= ' -> your PHP version (' . phpversion() . ') overriden by "config.platform.php" version (' . $package->getPrettyVersion() . ') does not satisfy that requirement.';
} else {
$text .= ' -> your PHP version (' . $package->getPrettyVersion() . ') does not satisfy that requirement.';
}
return $text;
}
} elseif (0 === strpos($targetName, 'ext-')) {
// handle php extensions
$ext = substr($targetName, 4);
$error = extension_loaded($ext) ? 'has the wrong version (' . (phpversion($ext) ?: '0') . ') installed' : 'is missing from your system';
return $text . ' -> the requested PHP extension ' . $ext . ' ' . $error . '.';
} elseif (0 === strpos($targetName, 'lib-')) {
// handle linked libs
$lib = substr($targetName, 4);
return $text . ' -> the requested linked library ' . $lib . ' has the wrong version installed or is missing from your system, make sure to have the extension providing it.';
} else {
return $text . ' -> no matching package found.';
}
}
return $text;
case self::RULE_PACKAGE_OBSOLETES:
return $ruleText;
case self::RULE_INSTALLED_PACKAGE_OBSOLETES:
return $ruleText;
case self::RULE_PACKAGE_SAME_NAME:
return 'Can only install one of: ' . $this->formatPackagesUnique($pool, $this->literals) . '.';
case self::RULE_PACKAGE_IMPLICIT_OBSOLETES:
return $ruleText;
case self::RULE_LEARNED:
return 'Conclusion: ' . $ruleText;
case self::RULE_PACKAGE_ALIAS:
return $ruleText;
default:
return '(' . $ruleText . ')';
}
}