Package: smarty3
Version: 3.1.21-1.1

The version of Smarty3 (3.1.21-1.1) provided is not fully compatible with PHP7. 
PHP7 support seems to be in Smarty3 > 3.1.28. There are multiple symptoms of 
this, perhaps most obvious that the templates do not compile if you add a call 
to register plugin. I encountered this first in Ubuntu, but it seems relevant 
to Debian as well. 

Here is a stack trace, to get an idea of how things fail, when trying to use 
registerPlugin in smarty3 3.1.21.
Notice: Array to string conversion in 
/usr/share/php/smarty3/sysplugins/smarty_internal_templatecompilerbase.php on 
line 415

Notice: Undefined property: template::$Array in 
/usr/share/php/smarty3/sysplugins/smarty_internal_templatecompilerbase.php on 
line 415

Fatal error: Uncaught Error: Function name must be a string in 
/usr/share/php/smarty3/sysplugins/smarty_internal_templatecompilerbase.php:415
Stack trace:
#0 /usr/share/php/smarty3/sysplugins/smarty_internal_templateparser.php(3585): 
Smarty_Internal_TemplateCompilerBase->compileTag('asset_url', Array)
#1 /usr/share/php/smarty3/sysplugins/smarty_internal_templateparser.php(4413): 
Smarty_Internal_Templateparser->yy_r32()
#2 /usr/share/php/smarty3/sysplugins/smarty_internal_templateparser.php(4515): 
Smarty_Internal_Templateparser->yy_reduce(32)
#3 
/usr/share/php/smarty3/sysplugins/smarty_internal_smartytemplatecompiler.php(118):
 Smarty_Internal_Templateparser->doParse(3, '}')
#4 
/usr/share/php/smarty3/sysplugins/smarty_internal_templatecompilerbase.php(283):
 Smarty_Internal_SmartyTemplateCompiler->doCompile('<!DOCTYPE html>...')
#5 /usr/share/php/smarty3/sysplugins/smarty_internal_template.php(197): 
Smarty_Internal_TemplateCompilerBase->compileTemplate(Object(Smarty_Internal_Template))
#6 /usr/share/php/smarty3/sysplugins/sm in 
/usr/share/php/smarty3/sysplugins/smarty_internal_templatecompilerbase.php on 
line 415


Reply via email to