Slim 3 - 如何添加404模板?

2024-04-17

在 Slim 2 中,我可以轻松地覆盖默认的 404 页面,

// @ref: http://help.slimframework.com/discussions/problems/4400-templatespath-doesnt-change
$app->notFound(function () use ($app) {
    $view = $app->view();
    $view->setTemplatesDirectory('./public/template/');
    $app->render('404.html');
});

但在《超薄3》中,

// ref: http://www.slimframework.com/docs/handlers/not-found.html
//Override the default Not Found Handler
$container['notFoundHandler'] = function ($c) {
    return function ($request, $response) use ($c) {
        return $c['response']
            ->withStatus(404)
            ->withHeader('Content-Type', 'text/html')
            ->write('Page not found');
    };
};

如何添加我的 404 模板('404.html')?


创建您的容器:

// Create container
$container = new \Slim\Container;

// Register component on container
$container['view'] = function ($c) {
    $view = new \Slim\Views\Twig('./public/template/');
    $view->addExtension(new \Slim\Views\TwigExtension(
        $c['router'],
        $c['request']->getUri()
    ));
    return $view;
};

//Override the default Not Found Handler
$container['notFoundHandler'] = function ($c) {
    return function ($request, $response) use ($c) {
        return $c['view']->render($response->withStatus(404), '404.html', [
            "myMagic" => "Let's roll"
        ]);
    };
};

构建\Slim\App对象使用$container并运行:

$app = new \Slim\App($container);
$app->run();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Slim 3 - 如何添加404模板? 的相关文章

  • 使用TensorFlow-Slim进行图像分类

    参考 https github com tensorflow models tree master slim 使用TensorFlow Slim进行图像分类 准备 安装TensorFlow 参考 https www tensorflow o
  • 使用TensorFlow-Slim进行图像分类

    参考 https github com tensorflow models tree master slim 使用TensorFlow Slim进行图像分类 准备 安装TensorFlow 参考 https www tensorflow o
  • 用tf.slim微调vgg模型时遇到的小坑

    首先 我进行微调的时候 代码并非slim提供的train image classifier py 而是自己的代码 我查了slim中的代码 应该是不会出现我文中的问题 我是在微调完inception模型后 修改代码 想要微调vgg 但是出现如
  • Slim 3 自动装载机

    我是 slim 框架的新手 不知道如何使用自动加载器来自动加载我的类 我创建了一个app models myclass php但当然 当我尝试使用它时 我发现找不到课程 我不确定哪种是自动加载类的正确方法 或者我应该使用的命名约定 我应该通
  • 如何在路由参数中发送 URL?

    我定义了这样的路线 app gt map GET POST abc url function request response args return response gt add new CustomMiddleware 当我传递一个没
  • 承诺解决后,视图中的数据未更新

    我正在使用 Rails 应用程序作为 API 后端 所以我有一个单页角度应用程序 它将进行多个 api 调用并在返回每个数据时开始显示 我不想等待API调用的所有结果然后加载数据 所以我开始学习deferred和promise 我有一个名为
  • 将路由组织到单独的文件中,在 Slim 中无法正常工作

    这是我的索引 php file use Psr Http Message ServerRequestInterface as Request use Psr Http Message ResponseInterface as Respons
  • Slim PHP 的默认 GET 路由

    我最近使用 Slim PHP 框架构建了一个小型 API 它运行得很好 然而 我想为根 设置一个 GET 路由 它以基本消息响应 并让任何其他 GET 请求返回 访问被拒绝 在阅读了文档和各种示例后 我无法弄清楚如何完成这些任务 我的项目仅
  • Slim + Twig - 如何在开发过程中关闭 Twig 缓存?

    这是我将其注入 Slim 容器中的树枝视图 Views and Templates https www slimframework com docs features templates html container view functi
  • .php 文件的字符编码错误

    为 MarkersController php 创建了一条返回 json 的路线 但是当我导航到该路线时 出现以下错误 HTML 文档的字符编码未声明 如果文档包含 US ASCII 范围之外的字符 则在某些浏览器配置中 该文档将呈现为乱码
  • 适合初学者的 Slim 框架 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 人们如何学习如何使用这个系统 我似乎找不到任何教程或书籍或任何有关如何使用该程序的内容 是的 他们的网站简要解释了一些事情 但没有任何澄清
  • Slim 3 中间件重定向

    我想检查用户是否登录 因此我有一个返回 true 或 false 的类 现在我想要一个中间件来检查用户是否登录 app gt get login Controller AccountController loginGet gt add Au
  • 如何使用Slim框架获取POST请求实体

    我已经发送了JSON使用 android java 的数据 通过在 post 实体中设置它 如下所示 HttpPost httpPostRequest new HttpPost URLs AddRecipe StringEntity se
  • Slim\Exception\HttpNotFoundException

    我正在创建一个新的 Slim 项目并收到以下错误 苗条应用程序错误 由于以下错误 应用程序无法运行 错误详情 Type Slim Exception HttpNotFoundException Code 404 Message Not fo
  • slim3 中的控制器单元测试

    首先 我想说 我是 PHP phpunit 单元测试的新手 在我的新项目 slim3 框架 中 我想测试我的控制器 例如 LoginController 我的想法是 在单元测试方法中 创建实例LoginController 模拟控制器中的一
  • 指导我使用 phpleague 库实现 Oauth2 PHP 服务器

    我在用Slim Framework With Eloquent ORM https packagist org packages illuminate database 尝试实施https github com thephpleague o
  • Middleware Slim PHP Framework 中如何响应

    我正在创建用于 REST API 身份验证的中间件 我的 API 是使用 Slim PHP 框架创建的 它提供了构建 API 的强大功能 这些功能之一是中间件 我需要检查中间件中的凭据并向用户响应错误 带有 JSON 描述的 HTTP 代码
  • 保护 REST API 和 Slim 框架的安全

    我对 REST API 相当陌生 我意识到已经发布了很多问题 然而 仔细阅读这些实际上让我对如何处理这个问题更加困惑 我使用创建了一个 REST API纤薄的框架 http www slimframework com 我只是用它来传输数据
  • JWT:slim v3 和 Android 中的身份验证

    我正在使用 Slim 框架将 JSON 返回到我的 Android 设备 我目前正在我的设备上登录 我使用 3 种不同的方式登录 Facebook Google 和帐户登录 当他进行帐户登录时 他可以注册一个新帐户或使用现有帐户登录 为了我
  • Slim 3 - 如何添加404模板?

    在 Slim 2 中 我可以轻松地覆盖默认的 404 页面 ref http help slimframework com discussions problems 4400 templatespath doesnt change app

随机推荐