问题标签 [slim-3]

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 投票
1 回答
66 浏览

response - Slim 3.3 输出中缺少字符

我试图让 Slim 在我的 Windows 7 系统上运行。到目前为止,我已经用 Composer 安装了所有东西,但是当我运行一个非常简单的程序时,输出并不像预期的那样。

下面是我的代码:

我期待输出“xxxxx”,而不是我得到“x”。

这意味着我在某处丢失了 4 个字符。运行 PHP 5.5.12 编码是 UTF-8(不是 BOM)

当我运行“curl -v http://localhost:8080/

我明白了

我会很感激你的帮助。

编辑 一旦我将这些代码行附加到文件的末尾,响应是正确的。

我想不通为什么……?

0 投票
4 回答
8003 浏览

php - Slim 3 中间件重定向

我想检查用户是否登录。因此我有一个类女巫返回真或假。现在我想要一个检查用户是否登录的中间件。

认证类

因此,当用户登录时,页面将正确呈现。但是当用户没有被自动化时,我想重定向到主页。但是怎么办?!

这不行!

0 投票
1 回答
1168 浏览

php - 如何在 slim 3 框架中调用常用函数?

我在 Slim 3 MVC 框架中构建我的网站。我需要为控制器调用一些常用的函数(例如:对于页面标题的别名,我正在使用一个名为的函数function getAlias(){.....})。

我必须在哪里创建这些功能?如何调用内部控制器?

0 投票
1 回答
7964 浏览

php - 依赖注入 Slim 框架 3

我正在使用 Slim Framework 3 创建 API。应用结构为:MVCP(模型、视图、控制器、提供者)。

是否可以让我的所有课程都注入 Slim Dependency Inject?

我正在使用 composer 来自动加载我所有的依赖项。

我的目录结构如下所示:

这是我的composer.json文件。

这是我的index.php文件。同样,依赖项正在由作曲家自动注入

我的控制器看起来像这样

我的 PeopleService 文件如下所示:

Models/AddressModels.php

Models/AutoModel.php

Models/PeopleModel.php

错误 我现在收到以下错误:

问题 我如何依赖注入我的所有类?有没有办法自动告诉 Slim 的 DI Container 去做呢?

0 投票
1 回答
4610 浏览

php - 如何在 Slim 3 中手动启动 404 处理程序?

我们已经知道如何notFoundHandler在 Slim 3 中添加自定义 404:

我想在我的一条路线中手动触发它。

在 Slim 2 中,我们能够做类似$app->notFound(). Slim 3 中的等价物是什么?

0 投票
2 回答
2277 浏览

php - Slim v3 和 twig(查看页面显示页面未找到错误)

我已经按照作曲家安装了 slim framework 3 和 twig 模板。当我调用函数http://localhost/elec/helloo/sandesh时,它会显示 Hello, Sandesh,如 slim 3 文档中所示。

但是当我尝试调用视图页面(在模板文件夹内)时。

它显示一个错误页面 Slim Application Error The application could not run because of the following error错误描述

代码工作(显示 hello , {name} 来自函数)

代码错误(从函数调用视图页面时显示错误)

路径详细信息

0 投票
1 回答
1016 浏览

php - 使用 Slim 3 获取 POST PUT 参数

我正在尝试使用 Slim 3 构建完整的 REST API。使用 Slim 2 非常简单。但现在我遇到了一些问题。

POST 和 PUT 路由无法正常工作。我无法获取参数。我$request->getHeaders()在文档上找到了,它可以工作,但不是获取例如参数length,而是我得到HTTP_LENGHT并且每个参数都有这个HTTP_前缀。

我找到了这个问题,但$request->getParsedBody()为我返回了一个空数组。

我正在使用Advanced REST Client测试我的 API,这是我作为 POST 请求发送的示例:

我正在使用 Slim 3.3.0。

这是我得到的一个例子$request->getHeaders()

一件奇怪的事情是,如果我尝试$request->hasHeader('length');获取参数的值,这意味着名称是正确的。我真的不明白。

我只想获取$app->request->post()在 Slim 2.* 中使用的参数数组。谢谢。

.htaccess的是这样的:

0 投票
1 回答
1251 浏览

php - Slim3 设置错误和检查的正确方法是用户登录

我是 Slim 框架的新用户,我有一个简单的 Slim 3 应用程序,具有登录和注册验证功能。但是我不确定这是否是设置错误并检查用户是否登录的正确/最佳方法-如果会话user.id存在,则将其重定向到他的帐户。

我使用了一个中间件:AuthMiddleware其中包括:

我用Twig我的观点。validation其中分配的会话validator.php包括:

使用Respect\Validation. 另外,这是正确的用法Middlewares吗?

提前致谢。

0 投票
2 回答
2451 浏览

php - Slim Framework v3,通过 POST 问题获取 JSON 数据

我正在使用 Slim Framework v3,并且在访问从浏览器客户端发送到我的 REST API 的 JSON 数据时遇到了一些问题。

目前我$request->getParsedBody();用来访问数据,但它返回的只是一个字符串,我不想解析它,因为我认为这个问题有更好的解决方案。

这是客户端发送的内容:

这产生{"key1":"value1","key2":"value2","key3":"value3"}

服务器上会发生什么?

正在产生以下var_dump();输出:

如您所见,$request->getParsedBody();正在返回一个字符串。有没有更好的方法来做到这一点?

我已经尝试过使用$request->getBody();,但它返回 Slim\Http\RequestBody 类型的对象,并且只有受保护的变量。我还没有找到任何函数来访问这些受保护的变量。

请记住,我使用的是 Slim v3,它们从 v2 改变了很多东西。

如果没有更好的方法,您对如何以最佳方式解析它有什么建议吗?

0 投票
1 回答
138 浏览

php - 安装 Composer 和 slim,无法正常工作

所以这是我第一次尝试安装和使用 composer 和其他包。我在本地主机上安装了 composer 和 slim 3,它工作得很好。

然后我继续在我的远程服务器上使用 SSH 安装它。没有发生错误,所有文件都在那里。在我的 composer.json 文件中也有 slim。我有一个自动加载文件。

但是当我尝试开始编写一些代码时,就好像它们甚至没有安装一样,并且我收到了这样的错误作为示例。

这是我的 app.php 文件

这是我的 index.php 文件

非常基本的代码,仅用于测试并查看它是否有效,但它没有。在谷歌上花了很多时间后,我找不到解决方案,这里的所有帮助将不胜感激。