在实例化后,为Slim设置自定义视图

时间:2015-05-14 07:17:00

标签: php slim

我正在一个非常古老的遗留网站上工作(想想PHP 4构造)。慢慢地但我肯定会重构大部分代码。由于它不是真正的大量代码我决定使用Slim。

我使用的是自定义视图,可能在不久的将来,我会选择一个诱人的引擎,可能是Twig。

长话短说,我自动加载自定义视图文件夹,以便随时随地准备好它们。至于我对Slim的理解,使用自定义视图我需要执行以下操作:

$app = new Slim(array(
    'view' => 'CustomView'
));

这一切都很好用且很容易使用,但是我想要(如果可能的话)Slim加载作为某个基类的属性(以及其他东西)并拥有其他类扩展了那一个。显然这会带来问题,因为我只能有一个自定义视图。

在实例化后,是否有其他方式将自定义视图传递给Silm?

可能是这样的:

$app = new Slim();

$app->setView(Custome View Goes Here);

我无法在Google上找到任何相关内容。

1 个答案:

答案 0 :(得分:1)

以下应该工作。取自documentation.

的示例
  

Slim应用程序使用的View类或实例。要改变这一点>在实例化后设置你需要使用Slim应用程序的view()方法。

// During instantiation
$app = new \Slim\Slim(array(
    'view' => new \My\View()
));

// After instantiation
$app->view(new \My\View());