我有一个使用RainTpl3作为模板引擎的现有项目。我试图将它移植到Slim框架2.
Q1:有没有办法轻松使用我的$tpl
对象来呈现其观点(通过DI或任何其他类似的方法)。
我已经设法破解了一种在外部函数中配置创建模板对象的方法,然后应该返回苗条应该回显的内容。之前它无法正确配置tpl,因此我在我的init文件中配置它。现在当我使用$tpl->draw('index');
时,它说的是找不到模板索引。 Q2:为什么找不到模板?
: MY_APP_ROOT_ / Public / index.php
require_once "../init.php";
# Fire up an app
$app = new Slim\Slim();
$app->get('/', function(){echo MyNS\Router\APIDefault::showHome();});
$app->get('/Hello', function() {
echo "Get Route is working.";
});
# Run the Slim application
$app->run();
:MY_APP_ROOT_ / Routes / APIDefault.php
<?php
namespace MyNS\Router;
class APIDefault
{
private function __construct( $argument)
{
throw new \Exception("Error Constructor not allowed", 1);
}
public static function showHome()
{
$tpl = new \Rain\Tpl();
$tpl->assign('Name','Abhinav');
$a = $tpl->draw('index',$return_string = true);
return $a;
}
}
index.tpl存储在MY_APP_ROOT_ / Templates /。
中答案 0 :(得分:0)
您可以制作自己的包含该模板引擎的视图脚本。 Slim也为Twig和Smarty here(仅限Slim 2)做了这个。
看起来你从未设置过搜索模板的目录,我错了吗?但如果您使用自己的View插件,可以将其作为构造函数中的参数或其他内容。