php - Slim 3 渲染方法无效

标签 php slim

我想在 Slim3 中进行简单的模板渲染,但出现错误:

这是我的代码: 命名空间 Controller ;

class Hello
{
    function __construct() {
// Instantiate the app
        $settings = require __DIR__ . '/../../src/settings.php';
        $this->app = new \Slim\App($settings);
    }

    public function index(){
        return $this->app->render('web/pages/hello.phtml');   //LINE20
    }
}

这是我得到的错误:

Message: Method render is not a valid method

最佳答案

App 对象本身不处理任何渲染,您将需要一个模板附加组件,可能是 this one基于模板的 .phtml 扩展名。使用 Composer 安装:

composer require slim/php-view

然后你的 Controller 方法会做这样的事情:

$view = new \Slim\Views\PhpRenderer('./web/pages');

return $view->render($response, '/hello.phtml');

您最终会希望将渲染器放入依赖项注入(inject)容器中,而不是在您的 Controller 方法中创建一个新实例,但这应该让您开始。

关于php - Slim 3 渲染方法无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34807616/

相关文章:

php - PHP 中的表单选项可发布到 MySQL 数据库

mysql - Slim MySQL异常: SQLSTATE[42000]: Syntax error or access violation: 1064

Slim 3 黑洞错误

php - Slim PHP 框架帮助

php - mysql更新语句给我一个错误

php - 如何一次循环遍历两个数组?

php - 为 mybb 中的所有用户返回相同的 uid 和电子邮件

php - 如果存在数据,如何执行更新查询,否则将数据插入 Mysql?

php - 如何在 Slim 3 路由中注入(inject)全局变量?

PHP, PDO SQL server, 返回数据中去掉前导0