当前位置: 首页>>代码示例>>PHP>>正文


PHP DIWikiPage::setSortKey方法代码示例

本文整理汇总了PHP中SMW\DIWikiPage::setSortKey方法的典型用法代码示例。如果您正苦于以下问题:PHP DIWikiPage::setSortKey方法的具体用法?PHP DIWikiPage::setSortKey怎么用?PHP DIWikiPage::setSortKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在SMW\DIWikiPage的用法示例。


在下文中一共展示了DIWikiPage::setSortKey方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: getSemanticData

 /**
  * @see SMWStore::getSemanticData()
  * @since 1.8
  *
  * @param DIWikiPage $subject
  * @param string[]|bool $filter
  */
 public function getSemanticData(DIWikiPage $subject, $filter = false)
 {
     // *** Find out if this subject exists ***//
     $sortKey = '';
     $sid = $this->store->smwIds->getSMWPageIDandSort($subject->getDBkey(), $subject->getNamespace(), $subject->getInterwiki(), $subject->getSubobjectName(), $sortKey, true, true);
     // Ensures that a cached item to contain an expected sortKey when
     // for example the ID was just created and the sortKey from the DB
     // is empty otherwise the DB wins over the invoked sortKey
     if (!$sortKey) {
         $sortKey = $subject->getSortKey();
     }
     $subject->setSortKey($sortKey);
     if ($sid == 0) {
         // We consider redirects for getting $sid,
         // so $sid == 0 also means "no redirects".
         return new SMWSemanticData($subject);
     }
     $propertyTableHashes = $this->store->smwIds->getPropertyTableHashes($sid);
     foreach ($this->store->getPropertyTables() as $tid => $proptable) {
         if (!array_key_exists($proptable->getName(), $propertyTableHashes)) {
             continue;
         }
         if ($filter !== false) {
             $relevant = false;
             foreach ($filter as $typeId) {
                 $diType = DataTypeRegistry::getInstance()->getDataItemId($typeId);
                 $relevant = $relevant || $proptable->getDiType() == $diType;
                 if ($relevant) {
                     break;
                 }
             }
             if (!$relevant) {
                 continue;
             }
         }
         $this->getSemanticDataFromTable($sid, $subject, $proptable);
     }
     // Note: the sortkey is always set but belongs to no property table,
     // hence no entry in $this->store->m_sdstate[$sid] is made.
     self::$in_getSemanticData++;
     $this->initSemanticDataCache($sid, $subject);
     // Avoid adding a sortkey for an already extended stub
     if (!$this->store->m_semdata[$sid]->hasProperty(new DIProperty('_SKEY'))) {
         $this->store->m_semdata[$sid]->addPropertyStubValue('_SKEY', array('', $sortKey));
     }
     self::$in_getSemanticData--;
     return $this->store->m_semdata[$sid];
 }
开发者ID:jongfeli,项目名称:SemanticMediaWiki,代码行数:55,代码来源:SMW_SQLStore3_Readers.php

示例2: getSemanticData

 /**
  * @see SMWStore::getSemanticData()
  * @since 1.8
  *
  * @param DIWikiPage $subject
  * @param string[]|bool $filter
  */
 public function getSemanticData(DIWikiPage $subject, $filter = false)
 {
     // *** Find out if this subject exists ***//
     $sortKey = '';
     $sid = $this->store->smwIds->getSMWPageIDandSort($subject->getDBkey(), $subject->getNamespace(), $subject->getInterwiki(), $subject->getSubobjectName(), $sortKey, true, true);
     $subject->setSortKey($sortKey);
     if ($sid == 0) {
         // We consider redirects for getting $sid,
         // so $sid == 0 also means "no redirects".
         return new SMWSemanticData($subject);
     }
     $propertyTableHashes = $this->store->smwIds->getPropertyTableHashes($sid);
     foreach ($this->store->getPropertyTables() as $tid => $proptable) {
         if (!array_key_exists($proptable->getName(), $propertyTableHashes)) {
             continue;
         }
         if ($filter !== false) {
             $relevant = false;
             foreach ($filter as $typeId) {
                 $diType = DataTypeRegistry::getInstance()->getDataItemId($typeId);
                 $relevant = $relevant || $proptable->getDiType() == $diType;
                 if ($relevant) {
                     break;
                 }
             }
             if (!$relevant) {
                 continue;
             }
         }
         $this->getSemanticDataFromTable($sid, $subject, $proptable);
     }
     // Note: the sortkey is always set but belongs to no property table,
     // hence no entry in $this->store->m_sdstate[$sid] is made.
     self::$in_getSemanticData++;
     $this->initSemanticDataCache($sid, $subject);
     $this->store->m_semdata[$sid]->addPropertyStubValue('_SKEY', array('', $sortKey));
     self::$in_getSemanticData--;
     return $this->store->m_semdata[$sid];
 }
开发者ID:brandonphuong,项目名称:mediawiki,代码行数:46,代码来源:SMW_SQLStore3_Readers.php

示例3: newDiWikiPage

 private function newDiWikiPage($dbkeys)
 {
     $diWikiPage = new DIWikiPage($dbkeys[0], intval($dbkeys[1]), $dbkeys[2], $dbkeys[4]);
     $diWikiPage->setSortKey($dbkeys[3]);
     return $diWikiPage;
 }
开发者ID:jongfeli,项目名称:SemanticMediaWiki,代码行数:6,代码来源:DIWikiPageHandler.php

示例4: testSortKeyRoundtrip

 /**
  * @dataProvider sortKeyProvider
  */
 public function testSortKeyRoundtrip($title, $sortkey, $expected)
 {
     $instance = new DIWikiPage($title, NS_MAIN);
     $instance->setSortKey($sortkey);
     $this->assertEquals($expected, $instance->getSortKey());
 }
开发者ID:WolfgangFahl,项目名称:SemanticMediaWiki,代码行数:9,代码来源:DIWikiPageTest.php

示例5: newMappingIterator

 /**
  * Fetch all subobjects for a given subject using a lazy-mapping iterator
  * in order to only resolve one subobject per iteration step.
  *
  * @since 2.5
  *
  * @param DIWikiPage $subject
  *
  * @return MappingIterator
  */
 private function newMappingIterator(DIWikiPage $subject)
 {
     $callback = function ($row) use($subject) {
         // #1955
         if ($subject->getNamespace() === SMW_NS_PROPERTY) {
             $property = new DIProperty($subject->getDBkey());
             $subobject = $property->getCanonicalDiWikiPage($row->smw_subobject);
         } else {
             $subobject = new DIWikiPage($subject->getDBkey(), $subject->getNamespace(), $subject->getInterwiki(), $row->smw_subobject);
         }
         $subobject->setSortKey($row->smw_sortkey);
         $subobject->setId($row->smw_id);
         return $subobject;
     };
     return $this->iteratorFactory->newMappingIterator($this->newResultIterator($subject), $callback);
 }
开发者ID:jongfeli,项目名称:SemanticMediaWiki,代码行数:26,代码来源:EntitySubobjectListIterator.php


注:本文中的SMW\DIWikiPage::setSortKey方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。