簡體   English   中英

PHP Silex Framework無法添加Twig_Extension_StringLoader擴展

[英]PHP Silex Framework can't add Twig_Extension_StringLoader extension

我正在嘗試按照上所述使用template_from_string

http://twig.sensiolabs.org/doc/functions/template_from_string.html

我該如何從Silex做到這一點? 我看到Twig / Exteion / StringLoader.php文件在那里。 這是我嘗試過的代碼

$app['twig'] = $app->share($app->extend('twig', function($twig, $app) {
    $twig->addExtension(new MarkdownExtension());
    $twig->addExtension(new Twig_Extension_StringLoader());
    return $twig;
}));

但是當我嘗試像

    return $app['twig']->template_from_string(
        "The is the {{ title }}", 
        array('title' => 'Hello')
    );

它產生以下錯誤

Fatal error: Call to undefined method Twig_Environment::template_from_string()

我想做的是從數據庫或其他文件中獲取模板內容,然后使用Twig而不是使用模板文件來呈現它,因此我可以將多個部分模板組合到主模板中。 還是有更好的方法?

請注意,我已經知道如何在模板文件中使用插入

{% include 'home-section.html.twig' %}

但這無法解決我的問題,因為它無法獲取要自動解析的內容數據。

謝謝。

只需創建另一個樹枝對象

$loader = new Twig_Loader_String();
$twig = new Twig_Environment($loader);

echo $twig->render('Hello {{ name }}!', array('name' => 'Fabien'));

暫無
暫無

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

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