48 'names' => [ 2 => null ],
54 'names' => [ 2 => null ],
70 $length = strlen( $text );
71 $threshold = $config->get(
'PreprocessorCacheThreshold' );
72 if ( $threshold ===
false || $length < $threshold || $length > 1e6 ) {
76 $cache = ObjectCache::getLocalClusterInstance();
78 defined(
'static::CACHE_PREFIX' ) ? static::CACHE_PREFIX : static::class,
80 $value = sprintf(
"%08d", static::CACHE_VERSION ) . $tree;
84 LoggerFactory::getInstance(
'Preprocessor' )
85 ->info(
"Cached preprocessor output (key: $key)" );
99 $length = strlen( $text );
100 $threshold = $config->get(
'PreprocessorCacheThreshold' );
101 if ( $threshold ===
false || $length < $threshold || $length > 1e6 ) {
105 $cache = ObjectCache::getLocalClusterInstance();
108 defined(
'static::CACHE_PREFIX' ) ? static::CACHE_PREFIX : static::class,
116 $version = intval( substr(
$value, 0, 8 ) );
117 if ( $version !== static::CACHE_VERSION ) {
121 LoggerFactory::getInstance(
'Preprocessor' )
122 ->info(
"Loaded preprocessor output from cache (key: $key)" );
124 return substr(
$value, 8 );
188 public function newChild(
$args =
false, $title =
false, $indexOffset = 0 );
preprocessToObj( $text, $flags=0)
Preprocess text to a PPNode.
cacheGetTree( $text, $flags)
Attempt to load a precomputed document tree for some given wikitext from the cache.
array $rules
Brace matching rules.
newPartNodeArray( $values)
Create a new custom node for programmatic use of parameter replacement as used in some extensions.
cacheSetTree( $text, $flags, $tree)
Store a document tree in the cache.
newFrame()
Create a new top-level frame for expansion of a page.
newCustomFrame( $args)
Create a new custom frame for programmatic use of parameter replacement as used in some extensions.
static getMain()
Static methods.
it s the revision text itself In either if gzip is the revision text is gzipped $flags
isEmpty()
Returns true if there are no arguments in this frame.
getArguments()
Returns all arguments of this frame.
const SUPPORTS_INDEX_OFFSET
This constant exists when $indexOffset is supported in newChild()
getTTL()
Get the TTL of the frame's output.
getArgument( $name)
Get an argument to this frame by name.
cachedExpand( $key, $root, $flags=0)
Expand a document tree node, caching the result on its parent with the given key.
getNumberedArguments()
Returns all numbered arguments of this frame.
isVolatile()
Get the "volatile" flag.
virtualBracketedImplode( $start, $sep, $end)
Virtual implode with brackets.
implodeWithFlags( $sep, $flags)
Implode with flags for expand()
implode( $sep)
Implode with no flags specified.
setTTL( $ttl)
Set the TTL of the output of this frame and all of its ancestors.
loopCheck( $title)
Returns true if the infinite loop check is OK, false if a loop is detected.
virtualImplode( $sep)
Makes an object that, when expand()ed, will be the same as one obtained with implode()
expand( $root, $flags=0)
Expand a document tree node.
isTemplate()
Return true if the frame is a template frame.
getTitle()
Get a title of frame.
getNamedArguments()
Returns all named arguments of this frame.
newChild( $args=false, $title=false, $indexOffset=0)
Create a child frame.
setVolatile( $flag=true)
Set the "volatile" flag.
There are three types of nodes:
item( $i)
Returns an item of an array-type node.
getLength()
Returns the length of the array, or false if this is not an array-type node.
splitArg()
Split a "<part>" node into an associative array containing: name PPNode name index String index value...
splitExt()
Split an "<ext>" node into an associative array containing name, attr, inner and close All values in ...
getFirstChild()
Get the first child of a tree node.
getName()
Get the name of this node.
getChildren()
Get an array-type node containing the children of this node.
getChildrenOfType( $type)
Get all children of this tree node which have a given name.
splitHeading()
Split an "<h>" node.
getNextSibling()
Get the next sibling of any node.