使用带有Slim应用程序的Twig

Jam*_*son 4 php slim twig

我正在使用Slim框架构建一个我正在开发的简单网站,并且还想使用Twig模板引擎.

我已经安装了Slim,Slim Extras和Twig,我的index.php文件包含以下内容:

<?php

/* Require and initialize Slim and Twig */
require 'Slim/Slim.php';
\Slim\Slim::registerAutoloader();
require 'Twig/lib/Twig/Autoloader.php';
Twig_Autoloader::register();

$app = new \Slim\Slim(array(
    'view' => new \Slim\Extras\Views\Twig()
));

/* Application routes */
$app->get('/', function () {
    $pageTitle = 'hello world';
    $body = 'sup world';

    $app->view()->setData(array('title' => $title, 'body' => $body));
    $app->render('index.html');
});

/* Run the application */
$app->run();
Run Code Online (Sandbox Code Playgroud)

但是,这会导致错误: Fatal error: Call to a member function view() on a non-object in C:\xampp\htdocs\index.php on line 18

我承认我不知道如何正确使用Twig和Slim.我在目录结构上关注StackOverflow帖子以及如何加载Twig,但我不知道如何向视图添加一些自定义数据,我不知道应该存储Twig的视图文件的位置.

我用谷歌搜索,但很多信息是旧版本的Slim和Slim文档本身缺乏.

谢谢!

Mae*_*lyn 15

这是一个简单的PHP错误.您正在尝试访问未导入其范围的闭包中的变量,请按以下方式修复:

$app->get('/', function () use ($app) {
    // $app will work here
});
Run Code Online (Sandbox Code Playgroud)