Php ';细枝错误语法';“消息未知”;表格“U开始”;功能

Php ';细枝错误语法';“消息未知”;表格“U开始”;功能,php,forms,twig,symfony-forms,symfony,Php,Forms,Twig,Symfony Forms,Symfony,可以用symfony3和twig制作一个独立的表单吗?我无法通过此错误: 致命错误:未捕获异常“Twig\u error\u Syntax”,在第1行的“new.html.Twig”中显示消息“Unknown”form\u start“函数 cites很好用,但实际上它使用的是2.7 我的简单项目是这样组织的: . ├── composer.json ├── composer.lock ├── src │   └── form.php ├── vendor │   └── ... └── vi

可以用symfony3和twig制作一个独立的表单吗?我无法通过此错误:

致命错误:未捕获异常“Twig\u error\u Syntax”,在第1行的“new.html.Twig”中显示消息“Unknown”form\u start“函数

cites很好用,但实际上它使用的是2.7

我的简单项目是这样组织的:

.
├── composer.json
├── composer.lock
├── src
│   └── form.php
├── vendor
│   └── ...
└── views
    └── new.html.twig
form.php
composer.json

完整错误堆栈跟踪
致命错误:未捕获异常“Twig\u error\u Syntax”,在/var/www/a/forms/vendor/Twig/Twig/lib/Twig/ExpressionParser.php:574中的“new.html.Twig”第1行显示消息“Unknown”form\u start“函数
堆栈跟踪:
#0/var/www/a/forms/vendor/twig/twig/lib/twig/ExpressionParser.php(351):twig_ExpressionParser-getFunctionNodeClass('form_start',1)
#1/var/www/a/forms/vendor/twig/twig/lib/twig/ExpressionParser.php(144):twig_ExpressionParser-getFunctionNode('form_start',1)
#2/var/www/a/forms/vendor/twig/twig/lib/twig/ExpressionParser.php(84):twig_ExpressionParser-parsePrimaryExpression()
#3/var/www/a/forms/vendor/twig/twig/lib/twig/ExpressionParser.php(41):twig_ExpressionParser-getPrimary()
#4/var/www/a/forms/vendor/twig/twig/lib/twig/Parser.php(144):twig_ExpressionParser-parseExpression()
#5/var/www/a/forms/vendor/twig/twig/lib/twig/Parser.php(100):twig_Parser-subparse(NULL,false)
#6/var/www/a/forms/vendor/twig/twig/lib/twig/Environment.php(619):twig_Parser-parse(Object(twig_TokenStream))
#第574行的7/var/www/a/forms/in/var/www/a/forms/vendor/twig/twig/lib/twig/ExpressionParser.php
您是否尝试将扩展名
FormExtension
添加到
Twig\u环境

在初始化
$twig
$formEngine
变量后立即添加以下代码段:

$twig->addExtension(
    new FormExtension(new TwigRenderer($formEngine))
);
然后,您将得到一个关于
trans()
未知的错误。通过添加
symfony/translation
包来更正此问题:
$composer需要symfony/translation

然后以与上面相同的方式让Twig知道此新扩展:

$twig->addExtension(
    new TranslationExtension(new Translator('en'))
);
别忘了它的用途:

use Symfony\Bridge\Twig\Extension\TranslationExtension;
use Symfony\Component\Translation\Translator;

嗯,谢谢,这可能会有帮助,但它实际上抛出了一个新的错误:
'Twig\u error\u Syntax',在“form\u div\u layout.html.Twig”中带有消息“Unknown”trans“filter”
是的,我想这意味着
form\u start()
未知的问题得到了解决。但另一个玫瑰确实出现了。我不确定这是否能修复它,因为它在
form_start()
之前引入了一个新的错误,所以它在到达该错误之前就死了。这很公平。杰夫普凯蒂:我修正了你的错误。请参阅我的最新答案。
Fatal error: Uncaught exception 'Twig_Error_Syntax' with message 'Unknown "form_start" function in "new.html.twig" at line 1.' in /var/www/a/forms/vendor/twig/twig/lib/Twig/ExpressionParser.php:574
Stack trace:
#0 /var/www/a/forms/vendor/twig/twig/lib/Twig/ExpressionParser.php(351): Twig_ExpressionParser->getFunctionNodeClass('form_start', 1)
#1 /var/www/a/forms/vendor/twig/twig/lib/Twig/ExpressionParser.php(144): Twig_ExpressionParser->getFunctionNode('form_start', 1)
#2 /var/www/a/forms/vendor/twig/twig/lib/Twig/ExpressionParser.php(84): Twig_ExpressionParser->parsePrimaryExpression()
#3 /var/www/a/forms/vendor/twig/twig/lib/Twig/ExpressionParser.php(41): Twig_ExpressionParser->getPrimary()
#4 /var/www/a/forms/vendor/twig/twig/lib/Twig/Parser.php(144): Twig_ExpressionParser->parseExpression()
#5 /var/www/a/forms/vendor/twig/twig/lib/Twig/Parser.php(100): Twig_Parser->subparse(NULL, false)
#6 /var/www/a/forms/vendor/twig/twig/lib/Twig/Environment.php(619): Twig_Parser->parse(Object(Twig_TokenStream))
#7 /var/www/a/forms/ in /var/www/a/forms/vendor/twig/twig/lib/Twig/ExpressionParser.php</b> on line 574
$twig->addExtension(
    new FormExtension(new TwigRenderer($formEngine))
);
$twig->addExtension(
    new TranslationExtension(new Translator('en'))
);
use Symfony\Bridge\Twig\Extension\TranslationExtension;
use Symfony\Component\Translation\Translator;