本文整理汇总了PHP中MagicWord::getCacheTTL方法的典型用法代码示例。如果您正苦于以下问题:PHP MagicWord::getCacheTTL方法的具体用法?PHP MagicWord::getCacheTTL怎么用?PHP MagicWord::getCacheTTL使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MagicWord
的用法示例。
在下文中一共展示了MagicWord::getCacheTTL方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: braceSubstitution
/**
* Return the text of a template, after recursively
* replacing any variables or templates within the template.
*
* @param array $piece The parts of the template
* $piece['title']: the title, i.e. the part before the |
* $piece['parts']: the parameter array
* $piece['lineStart']: whether the brace was at the start of a line
* @param PPFrame The current frame, contains template arguments
* @return string the text of the template
* @private
*/
function braceSubstitution($piece, $frame)
{
global $wgContLang, $wgNonincludableNamespaces;
wfProfileIn(__METHOD__);
wfProfileIn(__METHOD__ . '-setup');
# Flags
$found = false;
# $text has been filled
$nowiki = false;
# wiki markup in $text should be escaped
$isHTML = false;
# $text is HTML, armour it against wikitext transformation
$forceRawInterwiki = false;
# Force interwiki transclusion to be done in raw mode not rendered
$isChildObj = false;
# $text is a DOM node needing expansion in a child frame
$isLocalObj = false;
# $text is a DOM node needing expansion in the current frame
# Title object, where $text came from
$title = NULL;
# $part1 is the bit before the first |, and must contain only title characters.
# Various prefixes will be stripped from it later.
$titleWithSpaces = $frame->expand($piece['title']);
$part1 = trim($titleWithSpaces);
$titleText = false;
# Original title text preserved for various purposes
$originalTitle = $part1;
# $args is a list of argument nodes, starting from index 0, not including $part1
$args = null == $piece['parts'] ? array() : $piece['parts'];
wfProfileOut(__METHOD__ . '-setup');
# SUBST
wfProfileIn(__METHOD__ . '-modifiers');
if (!$found) {
$mwSubst = MagicWord::get('subst');
if ($mwSubst->matchStartAndRemove($part1) xor $this->ot['wiki']) {
# One of two possibilities is true:
# 1) Found SUBST but not in the PST phase
# 2) Didn't find SUBST and in the PST phase
# In either case, return without further processing
$text = $frame->virtualBracketedImplode('{{', '|', '}}', $titleWithSpaces, $args);
$isLocalObj = true;
$found = true;
}
}
# Variables
if (!$found && $args->getLength() == 0) {
$id = $this->mVariables->matchStartToEnd($part1);
if ($id !== false) {
$text = $this->getVariableValue($id);
if (MagicWord::getCacheTTL($id) > -1) {
$this->mOutput->mContainsOldMagic = true;
}
$found = true;
}
}
# MSG, MSGNW and RAW
if (!$found) {
# Check for MSGNW:
$mwMsgnw = MagicWord::get('msgnw');
if ($mwMsgnw->matchStartAndRemove($part1)) {
$nowiki = true;
} else {
# Remove obsolete MSG:
$mwMsg = MagicWord::get('msg');
$mwMsg->matchStartAndRemove($part1);
}
# Check for RAW:
$mwRaw = MagicWord::get('raw');
if ($mwRaw->matchStartAndRemove($part1)) {
$forceRawInterwiki = true;
}
}
wfProfileOut(__METHOD__ . '-modifiers');
# Parser functions
if (!$found) {
wfProfileIn(__METHOD__ . '-pfunc');
$colonPos = strpos($part1, ':');
if ($colonPos !== false) {
# Case sensitive functions
$function = substr($part1, 0, $colonPos);
if (isset($this->mFunctionSynonyms[1][$function])) {
$function = $this->mFunctionSynonyms[1][$function];
} else {
# Case insensitive functions
$function = strtolower($function);
if (isset($this->mFunctionSynonyms[0][$function])) {
$function = $this->mFunctionSynonyms[0][$function];
} else {
//.........这里部分代码省略.........
示例2: braceSubstitution
/**
* Return the text of a template, after recursively
* replacing any variables or templates within the template.
*
* @param array $piece The parts of the template
* $piece['title']: the title, i.e. the part before the |
* $piece['parts']: the parameter array
* $piece['lineStart']: whether the brace was at the start of a line
* @param PPFrame $frame The current frame, contains template arguments
* @throws MWException
* @return string The text of the template
* @private
*/
function braceSubstitution($piece, $frame)
{
wfProfileIn(__METHOD__);
wfProfileIn(__METHOD__ . '-setup');
# Flags
$found = false;
# $text has been filled
$nowiki = false;
# wiki markup in $text should be escaped
$isHTML = false;
# $text is HTML, armour it against wikitext transformation
$forceRawInterwiki = false;
# Force interwiki transclusion to be done in raw mode not rendered
$isChildObj = false;
# $text is a DOM node needing expansion in a child frame
$isLocalObj = false;
# $text is a DOM node needing expansion in the current frame
# Title object, where $text came from
$title = false;
# $part1 is the bit before the first |, and must contain only title characters.
# Various prefixes will be stripped from it later.
$titleWithSpaces = $frame->expand($piece['title']);
$part1 = trim($titleWithSpaces);
$titleText = false;
# Original title text preserved for various purposes
$originalTitle = $part1;
# $args is a list of argument nodes, starting from index 0, not including $part1
# @todo FIXME: If piece['parts'] is null then the call to getLength() below won't work b/c this $args isn't an object
$args = null == $piece['parts'] ? array() : $piece['parts'];
wfProfileOut(__METHOD__ . '-setup');
$titleProfileIn = null;
// profile templates
# SUBST
wfProfileIn(__METHOD__ . '-modifiers');
if (!$found) {
$substMatch = $this->mSubstWords->matchStartAndRemove($part1);
# Possibilities for substMatch: "subst", "safesubst" or FALSE
# Decide whether to expand template or keep wikitext as-is.
if ($this->ot['wiki']) {
if ($substMatch === false) {
$literal = true;
# literal when in PST with no prefix
} else {
$literal = false;
# expand when in PST with subst: or safesubst:
}
} else {
if ($substMatch == 'subst') {
$literal = true;
# literal when not in PST with plain subst:
} else {
$literal = false;
# expand when not in PST with safesubst: or no prefix
}
}
if ($literal) {
$text = $frame->virtualBracketedImplode('{{', '|', '}}', $titleWithSpaces, $args);
$isLocalObj = true;
$found = true;
}
}
# Variables
if (!$found && $args->getLength() == 0) {
$id = $this->mVariables->matchStartToEnd($part1);
if ($id !== false) {
$text = $this->getVariableValue($id, $frame);
if (MagicWord::getCacheTTL($id) > -1) {
$this->mOutput->updateCacheExpiry(MagicWord::getCacheTTL($id));
}
$found = true;
}
}
# MSG, MSGNW and RAW
if (!$found) {
# Check for MSGNW:
$mwMsgnw = MagicWord::get('msgnw');
if ($mwMsgnw->matchStartAndRemove($part1)) {
$nowiki = true;
} else {
# Remove obsolete MSG:
$mwMsg = MagicWord::get('msg');
$mwMsg->matchStartAndRemove($part1);
}
# Check for RAW:
$mwRaw = MagicWord::get('raw');
if ($mwRaw->matchStartAndRemove($part1)) {
$forceRawInterwiki = true;
//.........这里部分代码省略.........
示例3: variableSubstitution
/**
* Replace magic variables
* @private
*/
function variableSubstitution($matches)
{
global $wgContLang;
$fname = 'Parser::variableSubstitution';
$varname = $wgContLang->lc($matches[1]);
wfProfileIn($fname);
$skip = false;
if ($this->mOutputType == self::OT_WIKI) {
# Do only magic variables prefixed by SUBST
$mwSubst =& MagicWord::get('subst');
if (!$mwSubst->matchStartAndRemove($varname)) {
$skip = true;
}
# Note that if we don't substitute the variable below,
# we don't remove the {{subst:}} magic word, in case
# it is a template rather than a magic variable.
}
if (!$skip && array_key_exists($varname, $this->mVariables)) {
$id = $this->mVariables[$varname];
# Now check if we did really match, case sensitive or not
$mw =& MagicWord::get($id);
if ($mw->match($matches[1])) {
$text = $this->getVariableValue($id);
if (MagicWord::getCacheTTL($id) > -1) {
$this->mOutput->mContainsOldMagic = true;
}
} else {
$text = $matches[0];
}
} else {
$text = $matches[0];
}
wfProfileOut($fname);
return $text;
}