Twig 如何将变量发送到细枝
几天前我问了这个问题,也许我没有很好地解释我自己 我正在尝试使用Silex2,所以我复制文档中的代码来创建我的第一页 index.php index.html.twigTwig 如何将变量发送到细枝,twig,silex,Twig,Silex,几天前我问了这个问题,也许我没有很好地解释我自己 我正在尝试使用Silex2,所以我复制文档中的代码来创建我的第一页 index.php index.html.twig {%extends“arche/layout.html.twig”%} {%block content%} {{global.request} {{pg_cnt.temp} {{pg_cnt.name | default('default titi')} {%endblock%} 我对路线/和/home使用了相同的代码,
{%extends“arche/layout.html.twig”%}
{%block content%}
{{global.request}
{{pg_cnt.temp}
{{pg_cnt.name | default('default titi')}
{%endblock%}
我对路线/
和/home
使用了相同的代码,但对于这条路线/
,我有一个错误:
在index.html.Twig第7行中的Twig_Error_运行时:变量“pg_cnt”没有
不存在
对于另一个/home
,一切正常
我不明白这里发生了什么?
我使用的是您的代码应该按原样工作,也许可以尝试将其切换到:
<?php
require_once __DIR__.'/../vendor/autoload.php';
$app = require __DIR__.'/../src/app.php';
require __DIR__.'/../config/dev.php';
require __DIR__.'/../src/controllers.php';
$pg_cnt['temp'] = 'Welcome !';
$pg_cnt['name'] = 'tutu';
$func = function () use ($app, $pg_cnt) {
return $app['twig']->render('index.html.twig', array(
'pg_cnt' => $pg_cnt,
));
};
$app->get('/', $func);
$app->get('/home', $func);
$app->run();
@PaddyF奇怪,代码应该可以工作。做了一个小沙盒,我试试你的沙盒,效果不错!除了我看不出我需要在我的代码中修改什么,这样它也可以工作?我尝试更改细枝声明(注释骨架中的所有行,并在同一位置添加您的行)。错误更改为:Twig\u error\u Loader in Chain.php第86行:模板“index.html.Twig”未定义。
要明确的是,路由/主页仍然可以完美工作,我不知道,沙箱中的代码与您的代码相同。您确定在app.php
、dev.php
或controllers.php
中没有注册到/
的任何其他路由吗?您是对的,在“controllers.php”中默认配置了路由“/”。。。谢谢Bye@PaddyF,以结束您的问题。
{% extends "arche/layout.html.twig" %}
{% block content %}
<br /><br /><br /><br /><br />
{{ global.request }}
<h1>{{ pg_cnt.temp }}</h1>
<h1>{{ pg_cnt.name|default('default titi') }}</h1>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
{% endblock %}
<?php
require_once __DIR__.'/../vendor/autoload.php';
$app = require __DIR__.'/../src/app.php';
require __DIR__.'/../config/dev.php';
require __DIR__.'/../src/controllers.php';
$pg_cnt['temp'] = 'Welcome !';
$pg_cnt['name'] = 'tutu';
$func = function () use ($app, $pg_cnt) {
return $app['twig']->render('index.html.twig', array(
'pg_cnt' => $pg_cnt,
));
};
$app->get('/', $func);
$app->get('/home', $func);
$app->run();