本文整理汇总了PHP中Wikibase\DataModel\Entity\Item::hasLinkToSite方法的典型用法代码示例。如果您正苦于以下问题:PHP Item::hasLinkToSite方法的具体用法?PHP Item::hasLinkToSite怎么用?PHP Item::hasLinkToSite使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Wikibase\DataModel\Entity\Item
的用法示例。
在下文中一共展示了Item::hasLinkToSite方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setSiteLink
/**
* Setting the sitepage of the entity.
*
* @param Item $item
* @param string $siteId
* @param string $pageName
* @param string[] $badgeIds
* @param Summary &$summary The summary for this edit will be saved here.
*
* @return Status
*/
private function setSiteLink(Item $item, $siteId, $pageName, $badgeIds, &$summary)
{
$status = Status::newGood();
$site = $this->siteStore->getSite($siteId);
if ($site === null) {
$status->fatal('wikibase-setsitelink-invalid-site', $siteId);
return $status;
}
$summary = new Summary('wbsetsitelink');
// when $pageName is an empty string, we want to remove the site link
if ($pageName === '') {
if (!$item->hasLinkToSite($siteId)) {
$status->fatal('wikibase-setsitelink-remove-failed');
return $status;
}
} else {
$pageName = $site->normalizePageName($pageName);
if ($pageName === false) {
$status->fatal('wikibase-error-ui-no-external-page');
return $status;
}
}
$badges = $this->parseBadges($badgeIds, $status);
if (!$status->isGood()) {
return $status;
}
$changeOp = $this->siteLinkChangeOpFactory->newSetSiteLinkOp($siteId, $pageName, $badges);
$this->applyChangeOp($changeOp, $item, $summary);
return $status;
}