如何将变量发送到树枝
how to send variable to twig
我前几天问过这个问题,可能我没有很好地解释自己。
我正在尝试使用 Silex2,因此我复制了文档中的代码以制作我的第一页。
index.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';
$app->get('/', function () use ($app, $pg_cnt) {
return $app['twig']->render('index.html.twig', array(
'pg_cnt' => $pg_cnt,
));
});
$app->get('/home', function () use ($app, $pg_cnt) {
return $app['twig']->render('index.html.twig', array(
'pg_cnt' => $pg_cnt,
));
});
$app->run();
index.html.twig
{% 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 %}
我对路线 /
和 /home
使用了相同的代码,但是对于这条 /
我有一个错误:
Twig_Error_Runtime in index.html.twig line 7: Variable "pg_cnt" does
not exist.
对于另一个 /home
,一切正常。
我不明白这里发生了什么?
我正在使用 silex-skeleton
您的代码应该可以正常工作,或许可以尝试将其切换为:
<?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();
我前几天问过这个问题,可能我没有很好地解释自己。
我正在尝试使用 Silex2,因此我复制了文档中的代码以制作我的第一页。
index.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';
$app->get('/', function () use ($app, $pg_cnt) {
return $app['twig']->render('index.html.twig', array(
'pg_cnt' => $pg_cnt,
));
});
$app->get('/home', function () use ($app, $pg_cnt) {
return $app['twig']->render('index.html.twig', array(
'pg_cnt' => $pg_cnt,
));
});
$app->run();
index.html.twig
{% 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 %}
我对路线 /
和 /home
使用了相同的代码,但是对于这条 /
我有一个错误:
Twig_Error_Runtime in index.html.twig line 7: Variable "pg_cnt" does not exist.
对于另一个 /home
,一切正常。
我不明白这里发生了什么? 我正在使用 silex-skeleton
您的代码应该可以正常工作,或许可以尝试将其切换为:
<?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();