我下载了symfony2,我可以从app_dev.php开始运行它.
但是当我从app.php开始时,我得到一个错误页面404.
app.php虽然当然在那里但它会被执行.
错误发生在app.php的最后一行代码之后的某处:
$kernel->handle(Request::createFromGlobals())->send();
Run Code Online (Sandbox Code Playgroud)
我想我必须配置一个开关.
编辑:
正如GeLo所建议的,我将生产版本的路由添加到app/config/routing.yml.
_welcome:
resource: "@AcmeDemoBundle/Resources/config/routing.yml"
prefix: /
Run Code Online (Sandbox Code Playgroud)
我用内容创建了src/Acme/DemoBundle/Resources/config/routing.yml:
bla:
pattern: /
defaults: {_controller:AcmeDemoBundle:Demo:index}
Run Code Online (Sandbox Code Playgroud)
在DemoController::indexAction()我置于die(__FILE__);
没有; 我仍然从app.php获得404!
编辑答案:
./app/console --env=prod cache:clear
Run Code Online (Sandbox Code Playgroud)
做了伎俩.介意env参数.
是否可以使用PHP检索Twig模板中的所有变量?
示例someTemplate.twig.php:
Hello {{ name }},
your new email is {{ email }}
Run Code Online (Sandbox Code Playgroud)
现在我想做这样的事情:
$template = $twig->loadTemplate('someTemplate');
$variables = $template->getVariables();
Run Code Online (Sandbox Code Playgroud)
$ variables现在应该包含"name"和"email".
我想这样做的原因是我正在使用CMS系统,我的用户动态设置我的枝条模板和变量,他们也通过API填充变量.
我想将默认值设置为未设置变量,因此我需要一个模板中存在的所有变量的列表...
我简单地添加模板(index.html.twig):
{{ dump(product) }}
Run Code Online (Sandbox Code Playgroud)
我有错误:
The function "dump" does not exist in AcmeStoreBundle:Default:index.html.twig at line 2
Run Code Online (Sandbox Code Playgroud)
为什么不启用此功能,以及如何启用此功能?