问题标签 [slim-4]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
8792 浏览

php - 如何在 slimframework v4 中添加 twig-view

我正在尝试在 slim v4 中添加 twig-view

在 slim v3 中,我们在容器中添加了 twig-view

但我不能在 slim v4 中添加这样的树枝

0 投票
2 回答
1480 浏览

php - Slim Skeleton 返回 404 Not Found

我按照安装指南命令通过 composer 安装了 Slim4,

然后转到 localhost:8080 ,它返回一个 json 对象,如下所示。

关于如何开始运行我的第一个苗条的任何帮助

0 投票
3 回答
2933 浏览

php - 在控制器类中注入容器

我正在将我的应用程序从 Slim/3 迁移到 Slim/4。也许我很困惑,因为相同的东西有无穷无尽的语法,但我写了这个:

...它没有像我预期的那样工作,因为我得到了两个完全不同的容器实例(通过在 中设置断点来验证\DI\Container::__construct()):

  1. 我自己用$config = new Config();.
  2. 一个在 处自动创建,$app->run();然后作为参数传递给\Foo::__construct().

我做错了什么?

0 投票
1 回答
1829 浏览

php - 替换 notFoundHandler 设置

我正在从 Slim/3 迁移到 Slim/4。除了404 Not Found Handler(现在已经消失的一部分)之外,我已经找到或找到了我正在使用的所有已删除功能的替代品App::$settings

SlimApp::$settings已被删除,已实施多个中间件来替换每个单独设置的功能。

有中间件notFoundHandler吗?如果没有,我该如何实施?

我的曾经是这样的:

0 投票
2 回答
2375 浏览

slim - 安装新版本 4.12 后,我在 Slim 4 上不断收到此错误

Slim Application Error安装新的 Slim 4 框架后,我不断收到此错误。

我尝试切换回旧版本的 slim,但我一直得到同样的结果。

输出:

痕迹:

0 投票
2 回答
1053 浏览

php - 如何使用 Slim 4 和 slim/csrf 实现 CSRF 保护?

Slim 4 已经在这里,我正在尝试迁移到 Slim 4。一切都很好,但是当我尝试实现它时,CSRF 会返回一个错误。我尝试了最简单的设置,但出现此错误:

消息:传递给 Slim\Csrf\Guard::__invoke() 的参数 2 必须是 Psr\Http\Message\ResponseInterface 的实例,给定的 Slim\Routing\RouteRunner 实例,在 /Volumes/Web/slim/vendor/slim 中调用/slim/Slim/MiddlewareDispatcher.php 在第 180 行

文件:/Volumes/Web/slim/vendor/slim/csrf/src/Guard.php

这是我的代码:

任何帮助是极大的赞赏!谢谢!

0 投票
2 回答
2745 浏览

php - 如何在 slim 4 中设置和注入多个 PDO 数据库连接?

我可以创建一个实例PDO并成功注入它。我PDO::class直接定义并在构造函数中注入了__construct(PDO $pdo). 我需要类似的东西PDO1::classPDO2::class像下面这样注入它:__construct(PDO1 $pdo1, PDO2 $pdo2)但这显然行不通。只有一个PDO类,我需要做的是具有不同数据库凭据的 2 个实例。
最好的方法是什么?

我通过这样的 PDO 设置了一个数据库定义,它可以工作:

文件:dependencies.php

文件:index.php

文件SomeRepository.php

我在这篇文章中看到过这样的事情:

但这是最好的方法吗?以及如何在无需注入整个容器的情况下访问存储库类中的连接?

0 投票
1 回答
218 浏览

slim-4 - 如何在 Slim Framework 4 中获取已注册的路由

在 Slim Framework 3 中,我们可以使用此代码获取所有已注册的路由

不幸的是,这似乎在 slim 4 中不起作用。还有其他方法可以在 slim 4 中获得注册路线吗?

谢谢

0 投票
1 回答
3498 浏览

php - ThePHPLeague OAuth2 Client `getAccessToken()` 抛出“遇到不包含 JSON 正文的 OAuth 服务器错误”错误

我一直在尝试开发一个 API 和客户端,它们通过 ThePHPLeague 的 OAuth2服务器客户端的实现相互通信。在 CLI 中使用该curl命令,我能够生成一个令牌并使用它来访问受保护的资源。

用户身份验证依赖于带有 Slim 框架的定制 PHP 解决方案,该解决方案接受存储在数据库表中的用户名和加密密码。同一张表用于 OAuth2 实现的用户管理。

当成功验证用户登录尝试时,将调用AbstractProvidergetAccessToken()方法并从 API 请求访问令牌。这就是问题所在。

我已经使用GenericProvider该类测试了功能。我还扩展了提供程序以创建我自己的类。使用这两个提供程序时,我在尝试登录时看到以下错误:

堆栈跟踪中提到的SlothProvider类如下:

我想知道这个错误是什么意思以及如何解决它。

0 投票
2 回答
582 浏览

pdo - 使用 PDO 尊重\验证自定义规则?

我正在学习 Slim Framework v4 并决定使用它Respect\Validation来验证输入的数据并且遇到了一个障碍,我不知道如何将 PDO 注入到我创建的自定义规则中。

这个想法是如果提供的数据存在(或者在其他情况下,如果输入正确),则针对数据库验证一些输入。在这种特定情况下,我想验证用户的登录凭据。我的想法是:

AuthController.php:

EmailExists()是我的习惯规则。

电子邮件存在.php:

但是我得到一个错误Too few arguments to function app\Validators\EmailExists::__construct(), 0 passed and exactly 1 expected,这是有点意料之中的,因为AbstractRule没有注入 PDO 并且我的类扩展了它。

那么如何注入 PDO 接口以便我可以在我的自定义规则中使用它呢?

你们是否使用另一种方法来验证此类数据?请注意,我正在编写一个 API,因此数据库验证在某种程度上是必须的,在过去两天谷歌搜索之后,我手头没有解决方案。

我也在使用PHP-DI我创建 PDO 接口的地方。这是我的 dependencies.php 文件:

和(部分)index.php:

任何帮助,将不胜感激。