我正在为我正在开发的一个简单网站使用 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();
但是,这会导致错误: fatal error :在第 18 行的 C:\xampp\htdocs\index.php 中的非对象上调用成员函数 view()
我承认我不知道如何正确使用 Twig 和 Slim。我关注了关于目录结构和如何加载 Twig 的 StackOverflow 帖子,但我不知道如何向 View 添加一些自定义数据,也不知道 Twig 的 View 文件应该存储在哪里。
我用谷歌搜索了很多信息,但很多信息都是针对旧版本的 Slim,而且缺少 Slim 文档本身。
谢谢!
最佳答案
这是一个简单的 PHP 错误。您正在尝试访问未导入其作用域的闭包中的变量,请像这样修复它:
$app->get('/', function () use ($app) {
// $app will work here
});
关于php - 在 Slim 应用程序中使用 Twig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14589408/