呈现自定义 PHP 代码 [UserFrosting/Slim]
Rendering custom PHP code [UserFrosting/Slim]
[用户结霜 0.3.1]
我想执行自定义 PHP 文件,绕过其他 UserFrosting 架构。
Slim 的$app->render("myfile.php")
似乎不起作用。它期望主题目录中有一个 twig 文件,它不会执行 PHP 脚本。
如何绕过此限制?
关于我正在努力实现的目标的详细信息:
我在自定义 PHP 文件中制作了文件上传脚本。它使用从用户表单(来自 UserFrosting 仪表板)发布的 $_FILES
数组来处理用户文件上传并进行一些处理工作。
我无法通过自定义 UserFrosting 的控制器 class 访问 $_FILES
数据。这就是为什么我在根目录中使用了一个普通的旧外部 PHP 文件,并且它有效。
现在我希望通过 Slim 路由到那个 PHP 文件,以强制执行基本用户 authentication/permissions。
一般来说,我不建议使用这种方法来设计一个从长远来看易于管理的应用程序。 $_FILES
是一个超全局的,因此应该可以从任何地方访问 - 即使是在 class 方法中。所以,我不确定为什么您会在控制器中访问它时遇到问题。
但是,如果您确实需要调用包含程序代码的独立 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";
});
[用户结霜 0.3.1]
我想执行自定义 PHP 文件,绕过其他 UserFrosting 架构。
Slim 的$app->render("myfile.php")
似乎不起作用。它期望主题目录中有一个 twig 文件,它不会执行 PHP 脚本。
如何绕过此限制?
关于我正在努力实现的目标的详细信息:
我在自定义 PHP 文件中制作了文件上传脚本。它使用从用户表单(来自 UserFrosting 仪表板)发布的 $_FILES
数组来处理用户文件上传并进行一些处理工作。
我无法通过自定义 UserFrosting 的控制器 class 访问 $_FILES
数据。这就是为什么我在根目录中使用了一个普通的旧外部 PHP 文件,并且它有效。
现在我希望通过 Slim 路由到那个 PHP 文件,以强制执行基本用户 authentication/permissions。
一般来说,我不建议使用这种方法来设计一个从长远来看易于管理的应用程序。 $_FILES
是一个超全局的,因此应该可以从任何地方访问 - 即使是在 class 方法中。所以,我不确定为什么您会在控制器中访问它时遇到问题。
但是,如果您确实需要调用包含程序代码的独立 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";
});