带有raintpl的超薄框架

时间:2015-07-30 09:25:29

标签: php template-engine slim

我有一个使用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 /。

1 个答案:

答案 0 :(得分:0)

  1. 您可以制作自己的包含该模板引擎的视图脚本。 Slim也为Twig和Smarty here(仅限Slim 2)做了这个。

  2. 看起来你从未设置过搜索模板的目录,我错了吗?但如果您使用自己的View插件,可以将其作为构造函数中的参数或其他内容。