本文整理汇总了PHP中SMW\DIProperty::findPropertyID方法的典型用法代码示例。如果您正苦于以下问题:PHP DIProperty::findPropertyID方法的具体用法?PHP DIProperty::findPropertyID怎么用?PHP DIProperty::findPropertyID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SMW\DIProperty
的用法示例。
在下文中一共展示了DIProperty::findPropertyID方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getPredefinedData
/**
* Normalize the information for an SMW object (page etc.) and return
* the predefined ID if any. All parameters are call-by-reference and
* will be changed to perform any kind of built-in normalization that
* SMW requires. This mainly applies to predefined properties that
* should always use their property key as a title, have fixed
* sortkeys, etc. Some very special properties also have fixed IDs that
* do not require any DB lookups. In such cases, the method returns
* this ID; otherwise it returns 0.
*
* @note This function could be extended to account for further kinds
* of normalization and predefined ID. However, both getSMWPropertyID
* and makeSMWPropertyID must then also be adjusted to do the same.
*
* @since 1.8
* @param string $title DB key
* @param integer $namespace namespace
* @param string $iw interwiki prefix
* @param string $subobjectName
* @param string $sortkey
* @return integer predefined id or 0 if none
*/
protected function getPredefinedData(&$title, &$namespace, &$iw, &$subobjectName, &$sortkey)
{
if ($namespace == SMW_NS_PROPERTY && ($iw === '' || $iw == SMW_SQL3_SMWINTDEFIW) && $title != '') {
// Check if this is a predefined property:
if ($title[0] != '_') {
// This normalization also applies to
// subobjects of predefined properties.
$newTitle = SMW\DIProperty::findPropertyID(str_replace('_', ' ', $title));
if ($newTitle) {
$title = $newTitle;
$sortkey = SMW\DIProperty::findPropertyLabel($title);
if ($sortkey === '') {
$iw = SMW_SQL3_SMWINTDEFIW;
}
}
}
// Check if this is a property with a fixed SMW ID:
if ($subobjectName === '' && array_key_exists($title, self::$special_ids)) {
return self::$special_ids[$title];
}
}
return 0;
}