php - 渲染自定义 PHP 代码 [UserFrosting/Slim]

标签 php slim userfrosting

[用户弗罗斯特0.3.1]

我想执行自定义 PHP 文件,绕过其他 UserFrosting 架构。

Slim 的 $app->render("myfile.php") 似乎不起作用。它需要在主题目录中有一个 twig 文件,它不会执行 PHP 脚本。

如何绕过此限制?

有关我想要实现的目标的详细信息:

我在自定义 PHP 文件中制作了一个文件上传脚本。它使用从用户表单(来自 UserFrosting 仪表板)发布的 $_FILES 数组来处理用户文件上传并执行一些处理工作。

我尚未设法通过自定义 UserFrosting 的 Controller 类访问 $_FILES 数据。这就是为什么我在根目录中使用了一个普通的旧外部 PHP 文件,并且它有效。

现在我希望通过 Slim 路由到该 PHP 文件,以强制执行基本用户身份验证/权限

最佳答案

一般来说,我建议不要使用这种方法来设计易于长期管理的应用程序。 $_FILES 是一个超全局变量,因此应该可以从任何地方访问 - 甚至可以从类方法中访问。因此,我不确定为什么您在 Controller 中访问它时遇到问题。

但是,如果您确实需要调用包含过程代码的独立 PHP 文件,则始终可以在路由闭包中使用普通的旧 include :

$app->get('/my-route/?', function () use ($app) {    

    // Access-controlled page
    if (!$app->user->checkAccess('uri_my_route')) {
        $app->notFound();
    }

    include "path/to/myfile.php";
});

关于php - 渲染自定义 PHP 代码 [UserFrosting/Slim],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38869909/

相关文章:

PHP/JS 文本差异

php - php中如何在不刷新页面的情况下获取cookie?

javascript - 如何在 Slim + Twig 上循环使用 javascript urlfor()

php - Slim Framework 子路由

php - 在不同的命名空间 php 中调用一个函数

php - 优化数据库设计中的表

php - 无法在 PHP 中检索 Apache 环境变量

php - 从 Controller 访问 $app 对象

php - 如何从 UserFrosting 的另一个类中访问配置变量?

php - 将大表格发布到 php 文件