在 silex 中调用 html(php 个文件)

call html (php files) in silex

如何在 Silex 中使用 html 文件视图。

我正在尝试将 silex 与一些自定义 php 代码结合使用,其中控制器方法包含视图文件。

这是我的:在我的 index.php

$app->get('/', function (Request $request) {    
    $homeController = new HomeController($request);
    $output = $homeController->show($request);
     return new Response($output);
});
$app->run();

这是我的控制器的显示方法:

    ob_start();
    include "view/start.html.php";
    include "view/header.html.php";
    include "view/contact.html.php";
    include "view/footer.html.php";
    include "view/end.html.php";
    return ob_end_clean();  

有没有办法让它工作?

我不想将显示哪些视图的逻辑从控制器移动到 index.php。而且我暂时不想使用树枝。

这是我得到的错误:

UnexpectedValueException in Response.php line 403:
The Response content must be a string or object implementing __toString(), "boolean" given.

谢谢

来自你的错误:

The Response content must be a string or object implementing __toString(), "boolean" given.

可以放心地假设您的问题是您的其中一个包含失败。来自 PHP 关于 include 的手册:

include returns FALSE on failure and raises a warning

所以您可能正在尝试包含一个不存在的文件,或者可能其中一个文件正在生成错误。

在开发环境中,您应该确保显示您的 PHP 错误(查看 this question

您收到的错误是由于 ob_end_clean returns a boolean (success or failure). The function you're probably looking for is ob_get_clean.

ob_start();
include "view/start.html.php";
include "view/header.html.php";
include "view/contact.html.php";
include "view/footer.html.php";
include "view/end.html.php";
return ob_get_clean();