$required_attributes
$required_attributes : array
Array of names of required attribute required by tag
Smarty Internal Plugin Compile Nocache Classv
getAttributes(object $compiler, array $attributes) : array
This function checks if the attributes passed are valid
The attributes passed for the tag to compile are checked against the list of required and optional attributes. Required attributes must be present. Optional attributes are check against the corresponding list. The keyword '_any' specifies that any attribute will be accepted as valid
object | $compiler | compiler object |
array | $attributes | attributes applied to the tag |
of mapped attributes for further processing
closeTag(object $compiler, array|string $expectedTag) : mixed
Pop closing tag
Raise an error if this stack-top doesn't match with expected opening tags
object | $compiler | compiler object |
array|string | $expectedTag | the expected opening tag names |
any type the opening tag's name or saved data
<?php
/**
* Smarty Internal Plugin Compile Nocache
*
* Compiles the {nocache} {/nocache} tags.
*
* @package Smarty
* @subpackage Compiler
* @author Uwe Tews
*/
/**
* Smarty Internal Plugin Compile Nocache Classv
*
* @package Smarty
* @subpackage Compiler
*/
class Smarty_Internal_Compile_Nocache extends Smarty_Internal_CompileBase {
/**
* Compiles code for the {nocache} tag
*
* This tag does not generate compiled output. It only sets a compiler flag.
*
* @param array $args array with attributes from parser
* @param object $compiler compiler object
* @return bool
*/
public function compile($args, $compiler)
{
$_attr = $this->getAttributes($compiler, $args);
if ($_attr['nocache'] === true) {
$compiler->trigger_template_error('nocache option not allowed', $compiler->lex->taglineno);
}
// enter nocache mode
$compiler->nocache = true;
// this tag does not return compiled code
$compiler->has_code = false;
return true;
}
}
/**
* Smarty Internal Plugin Compile Nocacheclose Class
*
* @package Smarty
* @subpackage Compiler
*/
class Smarty_Internal_Compile_Nocacheclose extends Smarty_Internal_CompileBase {
/**
* Compiles code for the {/nocache} tag
*
* This tag does not generate compiled output. It only sets a compiler flag.
*
* @param array $args array with attributes from parser
* @param object $compiler compiler object
* @return bool
*/
public function compile($args, $compiler)
{
$_attr = $this->getAttributes($compiler, $args);
// leave nocache mode
$compiler->nocache = false;
// this tag does not return compiled code
$compiler->has_code = false;
return true;
}
}
?>