Reference - Parms functions - eval


App: regression/errors - Page: syntax/a_literal_of_another_sequence_call_lets_no_eval_run
PHP
syntax/a_literal_of_another_sequence_call_lets_no_eval_run.php
HTML
syntax/a_literal_of_another_sequence_call_lets_no_eval_run.pad
Result
<?php

// Only a literal parameter of the eval sequence is an expression the template wrote: the
// value spliced into sequence:repeat(2, '...') was taken for one, and sequence:eval(2, $q),
// refused on its own, then ran the same value from the request.

$q = '0 + php:abs(-3)';

?>
{echo sequence:repeat(2, '{$q}')}{echo sequence:eval(2, $q)}


App: regression/errors - Page: syntax/a_sequence_term_takes_no_eval_from_a_value
PHP
syntax/a_sequence_term_takes_no_eval_from_a_value.php
HTML
syntax/a_sequence_term_takes_no_eval_from_a_value.pad
Result
<?php

// The second argument of sequence:eval() is the eval type's expression, and one from a
// value - a request could fill it - is refused as eval=$q is.

$q = "php:php_uname('s')";

?>
{echo sequence:eval(2, $q)}


App: regression/errors - Page: syntax/a_value_spliced_into_a_bare_eval_call_is_text
PHP
syntax/a_value_spliced_into_a_bare_eval_call_is_text.php
HTML
syntax/a_value_spliced_into_a_bare_eval_call_is_text.pad
Result
<?php

// eval(2, '...') is sequence:eval(2, '...') written without its prefix, and a value spliced
// into its quoted expression is a string of it there too: it went in bare, and the request
// value 0 + php:abs(-3) called PHP - the call answered 3.

$q = '0 + php:abs(-3)';

?>
{echo eval(2, '@ * {$q}')}


App: regression/framework - Page: sequence/a_value_spliced_into_any_eval_expression_is_text
PHP
sequence/a_value_spliced_into_any_eval_expression_is_text.php
HTML
sequence/a_value_spliced_into_any_eval_expression_is_text.pad
Result
<?php

// A value spliced into the quoted expression of the eval sequence is a string of it in every
// spelling - {eval '...'}, {sequence:eval '...'}, make='eval|...', sequence:eval(2, '...') -
// as in eval='...': only eval= quoted it, and in the others the value became part of the
// expression and called the function it named.

$q = 'php:gettype()';

?>
e[{eval '@ . {$q}', rows=2}{$eval} {/eval}] s[{sequence:eval '@ . {$q}', rows=2}{$eval} {/sequence:eval}] m[{sequence '1..2', make='eval|@ . {$q}'}{$sequence} {/sequence}] c[{echo sequence:eval(2, '@ . {$q}')}]


App: regression/framework - Page: sequence/the_expression_written_as_the_parameter_of_sequence_eval_runs
PHP
sequence/the_expression_written_as_the_parameter_of_sequence_eval_runs.php
HTML
sequence/the_expression_written_as_the_parameter_of_sequence_eval_runs.pad
Result
<?php

// The parameter of sequence:eval() written as a quoted string is an expression the template
// writes, and runs - the third term of '@ * 2' is 6. It was refused as one from a value,
// which sequence:eval(3, $q) still is.

?>
a[{echo sequence:eval(3, '@ * 2')}] b[{echo sequence:eval(4, "@ + 10")}]