问题标签 [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.
php - 为什么找不到“类'DI\Bridge\Slim\App'”?PHP
我正在尝试为我的网站创建购物车,我正在遵循以下教程:https ://www.youtube.com/watch?v=tRh467FX12U&list=PLfdtiltiRHWH9JN1NBpJRFUhN96KBfPmd&index=2
在教程中,他使用了来自 GitHub 的 3 种不同的导入,这就是使用 composer 在终端中安装它们的方式:
rosscurrie = ~用户的名字
@Ross-Air = Macbook 的名称
MobileMastersNew = 包含所有网站文件的文件夹的名称
composer = 全局安装
require <...> = 来自 GitHub 的导入
- rosscurrie@Rosss-Air MobileMastersNew % 作曲家需要苗条/苗条:^4.0
- rosscurrie@Rosss-Air MobileMastersNew % 作曲家需要 slim/twig-view:^3.0
- rosscurrie@Rosss-Air MobileMastersNew % 作曲家需要 php-di/slim-bridge
- rosscurrie@Rosss-Air MobileMastersNew % 作曲家需要照明/数据库
我对 Laravel 的经验有限,但并不完全陌生。当我尝试加载 index.php 页面时,会出现以下错误:
我的文件夹目录如下:
我的 ../MobileMasters/app/App.php 是:
我的 ../MobileMasters/bootstrap/app.php 是:
我的 ../MobileMasters/public/.htaccess 文件是:
我的 ../MobileMasters/public/index.php 是:
我的 ../MobileMasters/vendor/autoload.php 是:
最后,我的 ../MobileMasters/composer.json 是:
twig - 如何将通用模型添加到 Twig 和 Slim4
我将 Twig 和 Slim4 与 DI 容器一起使用(与本教程相同:https ://odan.github.io/2019/11/05/slim4-tutorial.html )。我想知道如何为我的所有树枝视图添加一个通用模型,例如用户对象、常规选项和类似的东西。
这是容器 Twig 初始化:
twig 中间件是 Slim 标准的中间件:Slim\Views\TwigMiddleware
slim - 如何在 Slim4 中为路由定义设置属性并在中间件中使用它
我需要在路由定义中设置一个自定义属性并将其用作路由中间件。例如,我需要管理引用页面以在登录后重定向用户。
这是我的路线定义:
这->setAttribute('norefer',true);
是我正在寻找的,似乎它不存在。
我需要->getAttribute("norefer")
在中间件中使用此属性,以便可以存储用户访问的最后一个可参考页面:
因此,在会话中,我可以存储最后一个可参考页面,并在登录过程之后使用它来将用户重定向到他的页面。
php - 在 Slim 4 中访问中间件中的路由参数
我想知道如何在 Slim 4 的中间件中访问路由参数。
如果我定义了一个带有占位符和附加中间件的路由:
我想{userId}
在控制器被调用之前从中间件访问值:
我知道在 Slim 3 中我们可以访问请求对象的属性,但是,它在 Slim 4 中不起作用。路由对象的属性包含以下条目:
__routingResults__
__route__
__basePath__
这些似乎都不包含参数。
php - 从 Slim 4 中的路由组覆盖注入的类?
我有一个 Slim4 应用程序,由多个模块组成,这些模块分隔在不同的路由组中,如下所示:
MyMiddleware 接收一个接口
当我们设置容器时,我们告诉它要注入哪个类,以便 PHP-DI 知道使用哪个类来构造中间件:
和
我的主要问题是:
是否有可能以某种方式覆盖IMyInterface::class
基于路由组的容器设置的实现?所以我可以有类似的东西:
主容器设置:
具体路由组容器设置:
php - 为什么容器在中间件之前运行?
如果我们看一下在 slim4网站和其他地方发布的中间件概念。
它应该在请求到达应用程序之前或向用户发送响应时执行。
问题是这样的,因为即使之前执行了一个中间件,应用程序也会调用一个容器:
给我看代码。
配置
会话中间件
闪存消息容器
执行应用
结果
Flash消息需要一个会话开始工作,我已经知道了,中间件应该负责这样做,但它总是在容器之后执行
php - 超薄路由器参数问题
简单的代码
当我将 (client--side-?validation.pdf) 之类的名称作为参数传递时
喜欢:
我得到如下输出:
你好,客户端——
一些字符,如:?、@、+、# 等有问题。
当我们通过时,Slim 不会返回全名(client--side-?validation.pdf)。
问题: 这将是什么解决方案?
php - 无法使用 Slim 框架 4 POST 或 PUT - 在 v3 中工作正常
我正在尝试学习苗条的框架,但在我看来,我遇到了一个奇怪的问题。在 Slim 框架 3 中它工作正常。在发布这个问题之前,我已经做了很多研究,但老实说,我找到的所有答案变得更加复杂。
我设法获得所有客户,获得一个客户并删除一个客户。但是 POST(新客户)或 PUT(更新新客户)不起作用。
我会尽量提供更多信息。
最后是customers.php ...我只提供了POST 和PUT,因为这两个不起作用。
错误信息
php - 如果指定的路由不存在,php slim 应用程序不会重定向到 index.php
我刚刚完成了设置 php slim 应用程序的安装指南。一切正常,除非用户指定应用程序中不存在的 url,他没有被重定向到 index.php。
我认为这与位于公共目录而不是项目根目录中的 index.php 有关。
我的文件结构如下所示:
-public
----.htaccess
----index.php
-src
-vendor
----composer
----fig
----nikic
----
psr ----ralouphie
---- slim
我的 .htaccess 文件包含以下内容:
顺便说一句,当我指定一个不存在的路线时,我得到一个 Slim\Exception\HttpNotFoundException 异常。这是有道理的,因为路线不存在。但它应该重定向到 index.php
php - 可以找到一个 PHP 类,但不能找到另一个
我正在使用 Slim 4 框架并试图使路由正常工作,但是对于我的一生,我无法弄清楚为什么controller file
找不到我的。我习惯于为laravel
我处理所有这些事情,但我想尝试slim
我的最新应用程序。
我一直使用http://www.slimframework.com/docs/v4/objects/routing.html作为我的指南,并希望我的路线被定义为ControllerHere:FunctionHere
,但由于某种原因它不起作用。
从我的index.php
我包含一个routes.php
文件,其内容是
然后我有两个文件:Test1Controller
和Test2Controller
,都与我的文件在同一个应用程序文件夹中routes.php
。
按照链接中的指南,我的/test1
路线和 Test1Controller 完美加载,但我无法让 Test2Controller 工作,其代码是:
有人可以看到我做错了什么吗?我得到的错误是: