我试图将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加载到我的网站。
有人能指出我正确的方向吗?感谢您提供任何建议。
答案 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",
));
这可能不是正确的方法,但似乎有效。我仍然有兴趣看看其他人做了什么=)