Closed faitno closed 8 years ago
без eval не обойдется, феном не даст ничего кроме как модификатор который вы можете написать но опять же в нем будет ваш eval($code);
Ага, вижу, т.е. в результате все равно даже в fenom запускается eval. А можно как-то валидацию произвести через fenom, прежде чем отправлять код в eval? знаю, что к примеру в fenom вот такой код будет валидным, а в php - нет. (пропущены запятые)
[
'key' => 'val'
'key2' => 'val2'
'key3' => 'val3'
]
eval вызывается только при первой компиляции, далее используется include кеша
Нативно шаблонизатор таким не занимается. Но вы можете научить шаблонизатор парсить строки как вам угодно, например через модификатор
$fenom->addModifier("parse_array", function ($code) {
return eval("<?php return ".$code); // но я бы порекоментовал не использовать eval,
// а передавать строку, например, в виде JSON.
});
далее в шаблне
{set $data = $array_string|parse_array}
... используете $data как массив
Можно ли с помощью fenom распарсить следующую строчку, преобразовав её в массив?
т.е. строчка дана в виде
$string
переменной (как часть шаблона сайта, подтягивается из базы данных), хотелось бы преобразовать её в ассоциативный массив средствами fenom. Подскажите в каком направлении копать. не хотелось бы для этого использоватьeval($php_code)