【问题标题】:Slim Framework and Twig templating engineSlim 框架和 Twig 模板引擎
【发布时间】:2015-08-20 16:16:47
【问题描述】:

你好,我在这里有一个简单的代码,它将使用 slim 框架和树枝呈现 home.html。代码如下:

在我的 index.php 文件中:

require_once 'vendor/autoload.php';

$app = new \Slim\Slim([
        'debug' => true,
        'templates.path' => 'app/views'
    ]);

$app->view = new \Slim\Views\Twig();
$app->view->setTemplatesDirectory("app/views");

$view = $app->view();
$view->parserOptions = ['debug' => true];
$view->parserExtensions = [new \Slim\Views\TwigExtension()];

$app->get('/home', function () use ($app) {
    $app->render('home.html');
});

$app->run();

这是 base.html 模板:

还有我的 home.html:

{% extends "base.html" %}
{% block content %}
 Some content here
{% endblock %}

我的问题是,由于唯一渲染的部分是home.html,如果我想在我的基本模板中加载一些数据怎么办?像这样..

这样我就不必在渲染的每个页面上重复它。这可能在基本模板上吗?提前谢谢你。

另外,this 是我在 slim 中安装 twig 所遵循的。

【问题讨论】:

  • 你会在每个页面/路由上加载这些数据吗?

标签: php twig slim


【解决方案1】:

我认为最好的答案是here。那里的回答者说“写一个Twig custom function”来在你的视图中动态加载数据。

因此您将能够编写自己的 PHP,可以注入您的数据库并将其与模板引擎一起使用。

【讨论】:

  • 你是对的,但我不能使用 slim 和 twig 制作自己的函数:/
  • 我的意思是,我不知道如何.. 我按照文档进行操作,但我真的不知道如何正确执行..
  • 这是我在 slim imron02.wordpress.com/2015/04/20/…987654323@上安装视图的方法
  • Slim 本身有 own twig functions - 它们是通过函数 parserExtensions 添加的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-20
  • 2013-04-04
  • 2012-10-28
  • 2018-10-25
  • 2013-08-10
  • 1970-01-01
相关资源
最近更新 更多