php twig silex

php - El argumento 1 pasado a Twig_Filter::__ construct() debe ser una instancia de cadena, cadena dada



htmlspecialchars twig (2)

@CharlotteDunois señaló esto, pero Twig 2.0 requiere> = PHP7.0, por lo que en su entorno (php 5.6) no puede usar Twig 2.0. De la documentación oficial de Twig :

Prerrequisitos

Twig necesita al menos PHP 7.0.0 para ejecutarse.

Tenga en cuenta que para la rama PHP5.x todavía tiene Twig 1.x disponible

Tengo un problema con TWIG. Este código funciona en la escuela pero no con mi laptop. Probé con un código simple pero tengo el error:

Error fatal detectable: el argumento 1 pasado a Twig_Filter :: __ construct () debe ser una instancia de cadena, cadena dada, llamada en / opt / lampp / htdocs / webalizer / projetSilex / vendor / twig / twig / libig / lib / Twig / Extension / Core .php en la línea 139 y se define en /opt/lampp/htdocs/webalizer/projetSilex/vendor/twig/twig/lib/Twig/Filter.php en la línea 35

Yo uso php 5.6 / SILEX 2.0 / Twig 2.0

Gracias por tu ayuda.

Mi código es muy simple pero no funciona:

require_once __DIR__.''/vendor/autoload.php''; $app = new Silex/Application(); $app->register(new Silex/Provider/TwigServiceProvider(), array( ''twig.path'' => __DIR__.''/views'', )); $app->get(''/'', function(){ return "hello"; }); $app->get(''/hello/{name}'', function($name)use($app){ return $app[''twig'']->render(''hello.twig'', array("name"=>$name )); }); $app->run();>


solo mis 2 centavos No pude actualizar la versión de PHP (alojamiento compartido), así que tuve que cambiar la versión de Twig en mi package.json para usar la versión 1.x.

Reemplaza esta línea: "symfony/twig-bridge": "~2.8|^3.0" , -> "symfony/twig-bridge": "~2.8|3.0.*",

Entonces, agregué esta línea:

"twig/twig" : "~1.0"

y todo funcionó correctamente en el servidor PHP v 5.6