本文整理汇总了PHP中ParserOutput::getTimestamp方法的典型用法代码示例。如果您正苦于以下问题:PHP ParserOutput::getTimestamp方法的具体用法?PHP ParserOutput::getTimestamp怎么用?PHP ParserOutput::getTimestamp使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ParserOutput
的用法示例。
在下文中一共展示了ParserOutput::getTimestamp方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: view
//.........这里部分代码省略.........
# Iterate through the possible ways of constructing the output text.
# Keep going until $outputDone is set, or we run out of things to do.
$pass = 0;
$outputDone = false;
$this->mParserOutput = false;
while (!$outputDone && ++$pass) {
switch ($pass) {
case 1:
Hooks::run('ArticleViewHeader', array(&$this, &$outputDone, &$useParserCache));
break;
case 2:
# Early abort if the page doesn't exist
if (!$this->mPage->exists()) {
wfDebug(__METHOD__ . ": showing missing article\n");
$this->showMissingArticle();
$this->mPage->doViewUpdates($user);
return;
}
# Try the parser cache
if ($useParserCache) {
$this->mParserOutput = $parserCache->get($this, $parserOptions);
if ($this->mParserOutput !== false) {
if ($oldid) {
wfDebug(__METHOD__ . ": showing parser cache contents for current rev permalink\n");
$this->setOldSubtitle($oldid);
} else {
wfDebug(__METHOD__ . ": showing parser cache contents\n");
}
$outputPage->addParserOutput($this->mParserOutput);
# Ensure that UI elements requiring revision ID have
# the correct version information.
$outputPage->setRevisionId($this->mPage->getLatest());
# Preload timestamp to avoid a DB hit
$cachedTimestamp = $this->mParserOutput->getTimestamp();
if ($cachedTimestamp !== null) {
$outputPage->setRevisionTimestamp($cachedTimestamp);
$this->mPage->setTimestamp($cachedTimestamp);
}
$outputDone = true;
}
}
break;
case 3:
# This will set $this->mRevision if needed
$this->fetchContentObject();
# Are we looking at an old revision
if ($oldid && $this->mRevision) {
$this->setOldSubtitle($oldid);
if (!$this->showDeletedRevisionHeader()) {
wfDebug(__METHOD__ . ": cannot view deleted revision\n");
return;
}
}
# Ensure that UI elements requiring revision ID have
# the correct version information.
$outputPage->setRevisionId($this->getRevIdFetched());
# Preload timestamp to avoid a DB hit
$outputPage->setRevisionTimestamp($this->getTimestamp());
# Pages containing custom CSS or JavaScript get special treatment
if ($this->getTitle()->isCssOrJsPage() || $this->getTitle()->isCssJsSubpage()) {
wfDebug(__METHOD__ . ": showing CSS/JS source\n");
$this->showCssOrJsPage();
$outputDone = true;
} elseif (!Hooks::run('ArticleContentViewCustom', array($this->fetchContentObject(), $this->getTitle(), $outputPage))) {
# Allow extensions do their own custom view for certain pages
$outputDone = true;
示例2: view
//.........这里部分代码省略.........
wfDebug(__METHOD__ . ": showing missing article\n");
$this->showMissingArticle();
wfProfileOut(__METHOD__);
/* Wikia change begin - @author: Marcin, #BugId: 30436 */
$text = '';
if (wfRunHooks('ArticleNonExistentPage', array(&$this, $wgOut, &$text))) {
$this->mParserOutput = $wgParser->parse($text, $this->getTitle(), $parserOptions);
$wgOut->addParserOutput($this->mParserOutput);
}
/* Wikia change end */
return;
}
# Try the parser cache
if ($useParserCache) {
$this->mParserOutput = $parserCache->get($this, $parserOptions);
//Wikia Change
Transaction::setAttribute(Transaction::PARAM_PARSER_CACHE_USED, $this->mParserOutput !== false);
//Wikia Change End
if ($this->mParserOutput !== false) {
if ($oldid) {
wfDebug(__METHOD__ . ": showing parser cache contents for current rev permalink\n");
$this->setOldSubtitle($oldid);
} else {
wfDebug(__METHOD__ . ": showing parser cache contents\n");
}
$wgOut->addParserOutput($this->mParserOutput);
// Wikia change - begin - @author: wladek
wfRunHooks('ArticleViewAddParserOutput', array($this, $this->mParserOutput));
// Wikia change - end
# Ensure that UI elements requiring revision ID have
# the correct version information.
$wgOut->setRevisionId($this->mPage->getLatest());
# Preload timestamp to avoid a DB hit
$cachedTimestamp = $this->mParserOutput->getTimestamp();
if ($cachedTimestamp !== null) {
$wgOut->setRevisionTimestamp($cachedTimestamp);
$this->mPage->setTimestamp($cachedTimestamp);
}
$outputDone = true;
}
// Wikia change - begin - @author: wladek
} else {
Transaction::setAttribute(Transaction::PARAM_PARSER_CACHE_USED, false);
// Wikia change - end
}
break;
case 3:
# This will set $this->mRevision if needed
$this->fetchContent();
// Wikia change - begin
// @author macbre
// return status different than HTTP 200 when revision is missing (BAC-630)
if (!$this->mRevision instanceof Revision) {
global $wgEnableParserCache;
wfDebug(__METHOD__ . ": no revision found - disabling parser cache and returning 404\n");
$wgOut->getRequest()->response()->header('X-Missing-Revision: 1', true, 404);
$useParserCache = false;
$wgEnableParserCache = false;
}
// Wikia change - end
# Are we looking at an old revision
if ($oldid && $this->mRevision) {
$this->setOldSubtitle($oldid);
if (!$this->showDeletedRevisionHeader()) {
wfDebug(__METHOD__ . ": cannot view deleted revision\n");
wfProfileOut(__METHOD__);
示例3: buildStashValue
/**
* Build a value to store in memcached based on the PST content and parser output
*
* This makes a simple version of WikiPage::prepareContentForEdit() as stash info
*
* @param Content $pstContent
* @param ParserOutput $parserOutput
* @param string $timestamp TS_MW
* @return array (stash info array, TTL in seconds) or (null, 0)
*/
protected static function buildStashValue(Content $pstContent, ParserOutput $parserOutput, $timestamp)
{
// If an item is renewed, mind the cache TTL determined by config and parser functions
$since = time() - wfTimestamp(TS_UNIX, $parserOutput->getTimestamp());
$ttl = min($parserOutput->getCacheExpiry() - $since, 5 * 60);
if ($ttl > 0 && !$parserOutput->getFlag('vary-revision')) {
// Only store what is actually needed
$stashInfo = (object) array('pstContent' => $pstContent, 'output' => $parserOutput, 'timestamp' => $timestamp);
return array($stashInfo, $ttl);
}
return array(null, 0);
}
示例4: buildStashValue
/**
* Build a value to store in memcached based on the PST content and parser output
*
* This makes a simple version of WikiPage::prepareContentForEdit() as stash info
*
* @param Content $pstContent Pre-Save transformed content
* @param ParserOutput $parserOutput
* @param string $timestamp TS_MW
* @param User $user
* @return array (stash info array, TTL in seconds, info code) or (null, 0, info code)
*/
private static function buildStashValue(Content $pstContent, ParserOutput $parserOutput, $timestamp, User $user)
{
// If an item is renewed, mind the cache TTL determined by config and parser functions.
// Put an upper limit on the TTL for sanity to avoid extreme template/file staleness.
$since = time() - wfTimestamp(TS_UNIX, $parserOutput->getTimestamp());
$ttl = min($parserOutput->getCacheExpiry() - $since, self::MAX_CACHE_TTL);
if ($ttl <= 0) {
return [null, 0, 'no_ttl'];
}
// Only store what is actually needed
$stashInfo = (object) ['pstContent' => $pstContent, 'output' => $parserOutput, 'timestamp' => $timestamp, 'edits' => $user->getEditCount()];
return [$stashInfo, $ttl, 'ok'];
}