本文整理汇总了PHP中Composer\Package\PackageInterface::getDescription方法的典型用法代码示例。如果您正苦于以下问题:PHP PackageInterface::getDescription方法的具体用法?PHP PackageInterface::getDescription怎么用?PHP PackageInterface::getDescription使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Composer\Package\PackageInterface
的用法示例。
在下文中一共展示了PackageInterface::getDescription方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: dumpWeb
private function dumpWeb(array $packages, OutputInterface $output, PackageInterface $rootPackage, $directory)
{
$templateDir = __DIR__ . '/../../../../views';
$loader = new \Twig_Loader_Filesystem($templateDir);
$twig = new \Twig_Environment($loader);
$mappedPackages = $this->getMappedPackageList($packages);
$name = $rootPackage->getPrettyName();
if ($name === '__root__') {
$name = 'A';
$output->writeln('Define a "name" property in your json config to name the repository');
}
if (!$rootPackage->getHomepage()) {
$output->writeln('Define a "homepage" property in your json config to configure the repository URL');
}
$output->writeln('<info>Writing web view</info>');
$content = $twig->render('index.html.twig', array('name' => $name, 'url' => $rootPackage->getHomepage(), 'description' => $rootPackage->getDescription(), 'packages' => $mappedPackages));
file_put_contents($directory . '/index.html', $content);
}
示例2: printMeta
/**
* prints package meta data
*/
protected function printMeta(InputInterface $input, OutputInterface $output, PackageInterface $package, RepositoryInterface $installedRepo, RepositoryInterface $repos)
{
$output->writeln('<info>name</info> : ' . $package->getPrettyName());
$output->writeln('<info>descrip.</info> : ' . $package->getDescription());
$output->writeln('<info>keywords</info> : ' . join(', ', $package->getKeywords() ?: array()));
$this->printVersions($input, $output, $package, $installedRepo, $repos);
$output->writeln('<info>type</info> : ' . $package->getType());
$output->writeln('<info>license</info> : ' . implode(', ', $package->getLicense()));
$output->writeln('<info>source</info> : ' . sprintf('[%s] <comment>%s</comment> %s', $package->getSourceType(), $package->getSourceUrl(), $package->getSourceReference()));
$output->writeln('<info>dist</info> : ' . sprintf('[%s] <comment>%s</comment> %s', $package->getDistType(), $package->getDistUrl(), $package->getDistReference()));
$output->writeln('<info>names</info> : ' . implode(', ', $package->getNames()));
if ($package->getSupport()) {
$output->writeln("\n<info>support</info>");
foreach ($package->getSupport() as $type => $value) {
$output->writeln('<comment>' . $type . '</comment> : ' . $value);
}
}
if ($package->getAutoload()) {
$output->writeln("\n<info>autoload</info>");
foreach ($package->getAutoload() as $type => $autoloads) {
$output->writeln('<comment>' . $type . '</comment>');
if ($type === 'psr-0') {
foreach ($autoloads as $name => $path) {
$output->writeln(($name ?: '*') . ' => ' . ($path ?: '.'));
}
} elseif ($type === 'classmap') {
$output->writeln(implode(', ', $autoloads));
}
}
if ($package->getIncludePaths()) {
$output->writeln('<comment>include-path</comment>');
$output->writeln(implode(', ', $package->getIncludePaths()));
}
}
}
示例3: displayPackageTree
/**
* Display the tree
*
* @param PackageInterface|string $package
* @param RepositoryInterface $installedRepo
* @param RepositoryInterface $distantRepos
*/
protected function displayPackageTree(PackageInterface $package, RepositoryInterface $installedRepo, RepositoryInterface $distantRepos)
{
$io = $this->getIO();
$io->write(sprintf('<info>%s</info>', $package->getPrettyName()), false);
$io->write(' ' . $package->getPrettyVersion(), false);
$io->write(' ' . strtok($package->getDescription(), "\r\n"));
if (is_object($package)) {
$requires = $package->getRequires();
$treeBar = '├';
$j = 0;
$total = count($requires);
foreach ($requires as $requireName => $require) {
$j++;
if ($j == 0) {
$this->writeTreeLine($treeBar);
}
if ($j == $total) {
$treeBar = '└';
}
$level = 1;
$color = $this->colors[$level];
$info = sprintf('%s──<%s>%s</%s> %s', $treeBar, $color, $requireName, $color, $require->getPrettyConstraint());
$this->writeTreeLine($info);
$treeBar = str_replace('└', ' ', $treeBar);
$packagesInTree = array($package->getName(), $requireName);
$this->displayTree($requireName, $require, $installedRepo, $distantRepos, $packagesInTree, $treeBar, $level + 1);
}
}
}
示例4: matchPackage
/**
* tries to find a token within the name/keywords/description
*
* @param PackageInterface $package
* @param string $token
* @return boolean
*/
private function matchPackage(PackageInterface $package, $token)
{
$score = 0;
if (false !== stripos($package->getName(), $token)) {
$score += 5;
}
if (false !== stripos(join(',', $package->getKeywords() ?: array()), $token)) {
$score += 3;
}
if (false !== stripos($package->getDescription(), $token)) {
$score += 1;
}
return $score;
}
示例5: updateInformation
private function updateInformation(Package $package, PackageInterface $data, $flags)
{
$em = $this->doctrine->getManager();
$version = new Version();
$normVersion = $data->getVersion();
$existingVersion = $package->getVersion($normVersion);
if ($existingVersion) {
$source = $existingVersion->getSource();
// update if the right flag is set, or the source reference has changed (re-tag or new commit on branch)
if ($source['reference'] !== $data->getSourceReference() || $flags & self::UPDATE_EQUAL_REFS) {
$version = $existingVersion;
} else {
// mark it updated to avoid it being pruned
$existingVersion->setUpdatedAt(new \DateTime());
return false;
}
}
$version->setName($package->getName());
$version->setVersion($data->getPrettyVersion());
$version->setNormalizedVersion($normVersion);
$version->setDevelopment($data->isDev());
$em->persist($version);
$descr = $this->sanitize($data->getDescription());
$version->setDescription($descr);
$package->setDescription($descr);
$version->setHomepage($data->getHomepage());
$version->setLicense($data->getLicense() ?: array());
$version->setPackage($package);
$version->setUpdatedAt(new \DateTime());
$version->setReleasedAt($data->getReleaseDate());
if ($data->getSourceType()) {
$source['type'] = $data->getSourceType();
$source['url'] = $data->getSourceUrl();
$source['reference'] = $data->getSourceReference();
$version->setSource($source);
} else {
$version->setSource(null);
}
if ($data->getDistType()) {
$dist['type'] = $data->getDistType();
$dist['url'] = $data->getDistUrl();
$dist['reference'] = $data->getDistReference();
$dist['shasum'] = $data->getDistSha1Checksum();
$version->setDist($dist);
} else {
$version->setDist(null);
}
if ($data->getType()) {
$type = $this->sanitize($data->getType());
$version->setType($type);
if ($type !== $package->getType()) {
$package->setType($type);
}
}
$version->setTargetDir($data->getTargetDir());
$version->setAutoload($data->getAutoload());
$version->setExtra($data->getExtra());
$version->setBinaries($data->getBinaries());
$version->setIncludePaths($data->getIncludePaths());
$version->setSupport($data->getSupport());
if ($data->getKeywords()) {
$keywords = array();
foreach ($data->getKeywords() as $keyword) {
$keywords[mb_strtolower($keyword, 'UTF-8')] = $keyword;
}
$existingTags = [];
foreach ($version->getTags() as $tag) {
$existingTags[mb_strtolower($tag->getName(), 'UTF-8')] = $tag;
}
foreach ($keywords as $tagKey => $keyword) {
if (isset($existingTags[$tagKey])) {
unset($existingTags[$tagKey]);
continue;
}
$tag = Tag::getByName($em, $keyword, true);
if (!$version->getTags()->contains($tag)) {
$version->addTag($tag);
}
}
foreach ($existingTags as $tag) {
$version->getTags()->removeElement($tag);
}
} elseif (count($version->getTags())) {
$version->getTags()->clear();
}
$authorRepository = $this->doctrine->getRepository('PackagistWebBundle:Author');
$version->getAuthors()->clear();
if ($data->getAuthors()) {
foreach ($data->getAuthors() as $authorData) {
$author = null;
foreach (array('email', 'name', 'homepage', 'role') as $field) {
if (isset($authorData[$field])) {
$authorData[$field] = trim($authorData[$field]);
if ('' === $authorData[$field]) {
$authorData[$field] = null;
}
} else {
$authorData[$field] = null;
}
}
//.........这里部分代码省略.........
示例6: updateInformation
private function updateInformation(Package $package, PackageInterface $data, $flags)
{
$em = $this->doctrine->getEntityManager();
$version = new Version();
$version->setNormalizedVersion($data->getVersion());
// check if we have that version yet
foreach ($package->getVersions() as $existingVersion) {
if ($existingVersion->getNormalizedVersion() === $version->getNormalizedVersion()) {
if ($existingVersion->getDevelopment() || $flags & self::UPDATE_TAGS) {
$version = $existingVersion;
break;
}
// mark it updated to avoid it being pruned
$existingVersion->setUpdatedAt(new \DateTime());
return;
}
}
$version->setName($package->getName());
$version->setVersion($data->getPrettyVersion());
$version->setDevelopment($data->isDev());
$em->persist($version);
$version->setDescription($data->getDescription());
$package->setDescription($data->getDescription());
$version->setHomepage($data->getHomepage());
$version->setLicense($data->getLicense() ?: array());
$version->setPackage($package);
$version->setUpdatedAt(new \DateTime());
$version->setReleasedAt($data->getReleaseDate());
if ($data->getSourceType()) {
$source['type'] = $data->getSourceType();
$source['url'] = $data->getSourceUrl();
$source['reference'] = $data->getSourceReference();
$version->setSource($source);
}
if ($data->getDistType()) {
$dist['type'] = $data->getDistType();
$dist['url'] = $data->getDistUrl();
$dist['reference'] = $data->getDistReference();
$dist['shasum'] = $data->getDistSha1Checksum();
$version->setDist($dist);
}
if ($data->getType()) {
$version->setType($data->getType());
if ($data->getType() && $data->getType() !== $package->getType()) {
$package->setType($data->getType());
}
}
$version->setTargetDir($data->getTargetDir());
$version->setAutoload($data->getAutoload());
$version->setExtra($data->getExtra());
$version->setBinaries($data->getBinaries());
$version->setIncludePaths($data->getIncludePaths());
$version->setSupport($data->getSupport());
$version->getTags()->clear();
if ($data->getKeywords()) {
foreach ($data->getKeywords() as $keyword) {
$tag = Tag::getByName($em, $keyword, true);
if (!$version->getTags()->contains($tag)) {
$version->addTag($tag);
}
}
}
$authorRepository = $this->doctrine->getRepository('PackagistWebBundle:Author');
$version->getAuthors()->clear();
if ($data->getAuthors()) {
foreach ($data->getAuthors() as $authorData) {
$author = null;
// skip authors with no information
if (empty($authorData['email']) && empty($authorData['name'])) {
continue;
}
if (!empty($authorData['email'])) {
$author = $authorRepository->findOneByEmail($authorData['email']);
}
if (!$author && !empty($authorData['homepage'])) {
$author = $authorRepository->findOneBy(array('name' => $authorData['name'], 'homepage' => $authorData['homepage']));
}
if (!$author && !empty($authorData['name'])) {
$author = $authorRepository->findOneByNameAndPackage($authorData['name'], $package);
}
if (!$author) {
$author = new Author();
$em->persist($author);
}
foreach (array('email', 'name', 'homepage', 'role') as $field) {
if (isset($authorData[$field])) {
$author->{'set' . $field}($authorData[$field]);
}
}
$author->setUpdatedAt(new \DateTime());
if (!$version->getAuthors()->contains($author)) {
$version->addAuthor($author);
}
if (!$author->getVersions()->contains($version)) {
$author->addVersion($version);
}
}
}
// handle links
foreach ($this->supportedLinkTypes as $linkType => $opts) {
//.........这里部分代码省略.........
示例7: updateInformation
private function updateInformation(OutputInterface $output, RegistryInterface $doctrine, $package, PackageInterface $data)
{
$em = $doctrine->getEntityManager();
$version = new Version();
$version->setName($package->getName());
$version->setNormalizedVersion(preg_replace('{-dev$}i', '', $data->getVersion()));
// check if we have that version yet
foreach ($package->getVersions() as $existingVersion) {
if ($existingVersion->equals($version)) {
// avoid updating newer versions, in case two branches have the same version in their composer.json
if ($existingVersion->getReleasedAt() > $data->getReleaseDate()) {
return;
}
if ($existingVersion->getDevelopment()) {
$version = $existingVersion;
break;
}
return;
}
}
$version->setVersion($data->getPrettyVersion());
$version->setDevelopment(substr($data->getVersion(), -4) === '-dev');
$em->persist($version);
$version->setDescription($data->getDescription());
$package->setDescription($data->getDescription());
$version->setHomepage($data->getHomepage());
$version->setLicense($data->getLicense() ?: array());
$version->setPackage($package);
$version->setUpdatedAt(new \DateTime());
$version->setReleasedAt($data->getReleaseDate());
if ($data->getSourceType()) {
$source['type'] = $data->getSourceType();
$source['url'] = $data->getSourceUrl();
$source['reference'] = $data->getSourceReference();
$version->setSource($source);
}
if ($data->getDistType()) {
$dist['type'] = $data->getDistType();
$dist['url'] = $data->getDistUrl();
$dist['reference'] = $data->getDistReference();
$dist['shasum'] = $data->getDistSha1Checksum();
$version->setDist($dist);
}
if ($data->getType()) {
$version->setType($data->getType());
if ($data->getType() && $data->getType() !== $package->getType()) {
$package->setType($data->getType());
}
}
$version->setTargetDir($data->getTargetDir());
$version->setAutoload($data->getAutoload());
$version->setExtra($data->getExtra());
$version->setBinaries($data->getBinaries());
$version->getTags()->clear();
if ($data->getKeywords()) {
foreach ($data->getKeywords() as $keyword) {
$version->addTag(Tag::getByName($em, $keyword, true));
}
}
$version->getAuthors()->clear();
if ($data->getAuthors()) {
foreach ($data->getAuthors() as $authorData) {
$author = null;
// skip authors with no information
if (empty($authorData['email']) && empty($authorData['name'])) {
continue;
}
if (!empty($authorData['email'])) {
$author = $doctrine->getRepository('PackagistWebBundle:Author')->findOneByEmail($authorData['email']);
}
if (!$author && !empty($authorData['homepage'])) {
$author = $doctrine->getRepository('PackagistWebBundle:Author')->findOneBy(array('name' => $authorData['name'], 'homepage' => $authorData['homepage']));
}
if (!$author && !empty($authorData['name'])) {
$author = $doctrine->getRepository('PackagistWebBundle:Author')->findOneByNameAndPackage($authorData['name'], $package);
}
if (!$author) {
$author = new Author();
$em->persist($author);
}
foreach (array('email', 'name', 'homepage') as $field) {
if (isset($authorData[$field])) {
$author->{'set' . $field}($authorData[$field]);
}
}
$author->setUpdatedAt(new \DateTime());
if (!$version->getAuthors()->contains($author)) {
$version->addAuthor($author);
}
if (!$author->getVersions()->contains($version)) {
$author->addVersion($version);
}
}
}
foreach ($this->supportedLinkTypes as $linkType => $linkEntity) {
$links = array();
foreach ($data->{'get' . $linkType . 's'}() as $link) {
$links[$link->getTarget()] = $link->getPrettyConstraint();
}
foreach ($version->{'get' . $linkType}() as $link) {
//.........这里部分代码省略.........
示例8: getDescription
public function getDescription()
{
return $this->aliasOf->getDescription();
}
示例9: matchPackage
/**
* tries to find a token within the name/keywords/description
*
* @param PackageInterface $package
* @param string $token
* @return boolean
*/
private function matchPackage(PackageInterface $package, $token)
{
return false !== stripos($package->getName(), $token) || false !== stripos(join(',', $package->getKeywords() ?: array()), $token) || false !== stripos($package->getDescription(), $token);
}