我正在 Silex 中创建一个应用程序。我想使用 Twig 在我的服务中呈现由 Pimple 加载的模板。我需要这个用于邮件类。
我开始编写基于 silex-skeleton 的应用程序,所以我在 $app['twig'] 中有一个 twig 环境。问题是,当我想将它传递给服务时:
//app.php
$app['someModel'] = function ($app) {
return new someModel($app['twig']);
};
当我写这样的东西时,树枝停止工作。我所有的子页面都显示:
Twig_Error_Loader:模板“(路径).html.twig”未定义()。
我尝试了另一个技巧:
//app.php
$app['someModel'] = function ($app) {
return new someModel($app);
};
//someModel.php
class SomeModel
{
private $twig;
public function __construct($app)
{
$this->twig = $app['twig'];
}
}
但这也会折断树枝。我试图将 $app['twig'] 分配和克隆到另一个变量,然后它也会发生。
//app.php
$variable = $app['twig']
//app.php
$variable = clone $app['twig']
如何在 Silex 中使用 Twig?