本文整理汇总了PHP中SMWDataItem::getDiWikiPage方法的典型用法代码示例。如果您正苦于以下问题:PHP SMWDataItem::getDiWikiPage方法的具体用法?PHP SMWDataItem::getDiWikiPage怎么用?PHP SMWDataItem::getDiWikiPage使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SMWDataItem
的用法示例。
在下文中一共展示了SMWDataItem::getDiWikiPage方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getRedirectTarget
/**
* Convenience method to find the redirect target of an SMWDIWikiPage
* or SMWDIProperty object. Returns a dataitem of the same type that
* the input redirects to, or the input itself if there is no redirect.
*
* @param $dataItem SMWDataItem to find the redirect for.
* @return SMWDataItem
*/
public function getRedirectTarget(SMWDataItem $dataItem)
{
if ($dataItem->getDIType() == SMWDataItem::TYPE_PROPERTY) {
if (!$dataItem->isUserDefined()) {
return $dataItem;
}
$wikipage = $dataItem->getDiWikiPage();
} elseif ($dataItem->getDIType() == SMWDataItem::TYPE_WIKIPAGE) {
$wikipage = $dataItem;
} else {
throw new InvalidArgumentException('SMWStore::getRedirectTarget() expects an object of type SMWDIProperty or SMWDIWikiPage.');
}
$redirectDataItems = $this->getPropertyValues($wikipage, new SMWDIProperty('_REDI'));
if (count($redirectDataItems) > 0) {
if ($dataItem->getDIType() == SMWDataItem::TYPE_PROPERTY) {
return new SMWDIProperty(end($redirectDataItems)->getDBkey());
} else {
return end($redirectDataItems);
}
} else {
return $dataItem;
}
}