0

我正在 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?

4

1 回答 1

0
$app->register(new Silex\Provider\TwigServiceProvider(), 
  array('twig.path' => __DIR__.'/views',
));

要获得更多信息,请查看Silex 文档

于 2014-06-27T21:32:17.487 回答