簡體   English   中英

Silex,在服務中使用Twig

[英]Silex, using Twig in service

我正在Silex中創建一個應用程序。 我想使用Twig在服務中渲染模板,該服務由Pimple加載。 我在郵遞員班上需要這個。

我開始基於silex-skeleton編寫應用程序,因此我在$ app ['twig']中有一個樹枝環境。 問題是,當我想將其傳遞到服務中時:

//app.php
$app['someModel'] = function ($app) {
    return new someModel($app['twig']);
};

當我寫這樣的東西時,樹枝停止工作。 我所有的子頁面都顯示:

Twig_Error_Loader:模板“(path).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?

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

要獲取更多信息,請查看Silex文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM