本文整理汇总了PHP中LinkCache::addGoodLinkObjFromRow方法的典型用法代码示例。如果您正苦于以下问题:PHP LinkCache::addGoodLinkObjFromRow方法的具体用法?PHP LinkCache::addGoodLinkObjFromRow怎么用?PHP LinkCache::addGoodLinkObjFromRow使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LinkCache
的用法示例。
在下文中一共展示了LinkCache::addGoodLinkObjFromRow方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addResultToCache
/**
* Add a ResultWrapper containing IDs and titles to a LinkCache object.
* As normal, titles will go into the static Title cache field.
* This function *also* stores extra fields of the title used for link
* parsing to avoid extra DB queries.
*
* @param LinkCache $cache
* @param ResultWrapper $res
* @return array Array of remaining titles
*/
public function addResultToCache($cache, $res)
{
if (!$res) {
return array();
}
// For each returned entry, add it to the list of good links, and remove it from $remaining
$ids = array();
$remaining = $this->data;
foreach ($res as $row) {
$title = Title::makeTitle($row->page_namespace, $row->page_title);
$cache->addGoodLinkObjFromRow($title, $row);
$ids[$title->getPrefixedDBkey()] = $row->page_id;
unset($remaining[$row->page_namespace][$row->page_title]);
}
// The remaining links in $data are bad links, register them as such
foreach ($remaining as $ns => $dbkeys) {
foreach ($dbkeys as $dbkey => $unused) {
$title = Title::makeTitle($ns, $dbkey);
$cache->addBadLinkObj($title);
$ids[$title->getPrefixedDBkey()] = 0;
}
}
return $ids;
}
示例2: addResultToCache
/**
* Add a ResultWrapper containing IDs and titles to a LinkCache object.
* As normal, titles will go into the static Title cache field.
* This function *also* stores extra fields of the title used for link
* parsing to avoid extra DB queries.
*
* @param LinkCache $cache
* @param ResultWrapper $res
* @return array Array of remaining titles
*/
public function addResultToCache($cache, $res)
{
if (!$res) {
return [];
}
$titleFormatter = MediaWikiServices::getInstance()->getTitleFormatter();
// For each returned entry, add it to the list of good links, and remove it from $remaining
$ids = [];
$remaining = $this->data;
foreach ($res as $row) {
$title = new TitleValue((int) $row->page_namespace, $row->page_title);
$cache->addGoodLinkObjFromRow($title, $row);
$pdbk = $titleFormatter->getPrefixedDBkey($title);
$ids[$pdbk] = $row->page_id;
unset($remaining[$row->page_namespace][$row->page_title]);
}
// The remaining links in $data are bad links, register them as such
foreach ($remaining as $ns => $dbkeys) {
foreach ($dbkeys as $dbkey => $unused) {
$title = new TitleValue((int) $ns, $dbkey);
$cache->addBadLinkObj($title);
$pdbk = $titleFormatter->getPrefixedDBkey($title);
$ids[$pdbk] = 0;
}
}
return $ids;
}