在MySQL数据库中存储Twig模板并使用Propel提取

时间:2013-07-22 11:30:07

标签: mysql twig propel

我试图将Twig模板存储在mysql数据库中并使用Propel ORM 1.6提取它们

mysql表已设置并具有3个演示模板/记录。我的Propel架构设置正常,让我的课程与桌子互动。

例如,如果我使用propel来提取模板主键(1),如下所示:

$template = TemplateQuery::create->findPk(1);

并像这样呈现模板:

$twig->render($template, array(
    "name" => "testname",
    "age" => "testage",
));

它的错误:“可捕获的致命错误:传递给Twig_Environment :: __ construct()的参数1必须实现接口Twig_LoaderInterface”

在Twig网站的这个页面(http://twig.sensiolabs.org/doc/recipes.html)上有一个例子,如果使用数据库中的twig模板,但理想情况下我喜欢使用Propel来获取模板。

请注意我没有为应用程序使用任何框架(例如symfony)。我通过Composer将Twig和Propel加载到我的网站。

有人能指出我正确的方向吗?感谢您提供任何建议。

1 个答案:

答案 0 :(得分:1)

我创建了一个这样的Twig String Loader:

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

然后我渲染了这样的模板(使用$ template-> getHtml()作为我对数据库中字段的获取者):

$code = $twig->render($template->getHtml(), array(
    "name" => "testname",
    "age" => "testage",
));

这可能不是正确的方法,但似乎有效。我仍然有兴趣看看其他人做了什么=)