问题标签 [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 - 如何使用 Slim-Skeleton 中演示的 PHP-DI 设置访问 slim4 的 routeParser?
我已经建立了一个基于 SlimPHP 团队的Slim Skeleton应用程序的新应用程序。在我的路由定义中,我希望能够访问Slim4 文档中描述的路由解析器。因此,例如,我希望能够编辑骨架的app/routes.php文件,如下所示:
$app->getRouteCollector()->getRouteParser()
不起作用是有道理的,因为$app
这里没有定义。但我认为我们会改为调用$this->getRouteCollector()->getRouteParser();
,但这会产生错误:"Call to undefined method DI\\Container::getRouteCollector()"
。
看来我的困惑肯定是关于依赖注入,这对我来说是新的,对我来说不是自然而然的。老实说,我很想在其他地方(在 index.php 中?)定义 $routeParser 变量,这样我就可以在任何路由定义中访问它,而不必每次都调用 $app->getRouteCollector()->getRouteParser()。但目前我愿意接受任何有效的方法。
php - 如何在 slim 框架 4 中使用学说?
尝试将原则与 slim 框架 4 一起使用,但没有可用的文档。通过以下链接http://www.slimframework.com/docs/v3/cookbook/database-doctrine.html上的信息给出错误。
找不到类“超薄容器”
slim - Slim 4 在没有 $app 的情况下将所有路由都放入控制器中
我需要将所有已注册的路由放入控制器中。在 slim 3 中,可以通过
使用 $app 很容易$routes = $app->getRouteCollector()->getRoutes();
有任何想法吗?
php - Slim 4 中的路由中间件不会停止调用路由中的可调用对象
我正在为 Slim4 中的授权中间件苦苦挣扎。这是我的代码:
身份验证中间件检查用户并正常工作。
ProviderController 中的get方法是
SuperuserAuthorization 看起来像这样
问题是即使用户不是超级用户,应用程序也会继续执行。结果,我得到了所有提供者的 json 和 http 代码 403:/
路由中间件不应该阻止请求进入应用程序并立即返回 403 吗?
我知道我可以创建新的空响应,状态为 403,所以数据不会出来,但关键是请求永远不应该超出这个中间件,我是对的还是我只是在这里误解了一些东西......</p >
任何帮助将不胜感激 :)
- - - - - - - 解决方案 - - - - - - - -
感谢@Nima,我解决了它。中间件的更新版本为:
php - 如何从 Redis 缓存创建新流
我将图像存储在redis中。
并试图取回它:
它给了我这个错误:
$image
变量是该图像的字节。如何将这些字节转换为流?
slim - Slim 4 中间件重定向*在途中*
我有以下中间件,我将附加到我的路线:
现在这个重定向有效。但是,它会在点击应用程序并退出时出现重定向。die('hello');
我可以通过在我的控制器中放置一个来确认这一点。如果用户未经过身份验证,那么它不应该走那么远,因为应该在进入的途中附加重定向。但是,即使我没有经过身份验证,控制器也会被激活。这是不好的。在 Slim 3 中,我可以访问 $response 对象,并将其通过 $next 处理程序传入。但似乎在 Slim 4 中,我只有请求 $handler 才能访问应用程序,然后我才开始使用 $response 来决定是否要重定向到 /login。
如何在进入而不是退出时返回重定向 $response?
php - Slim 4 PUT 和 DELETE 表单提交
如何在 Slim 4 中进行 PUT 和 DELETE 表单提交?我有以下路线:
这是我的 :
这就是我在 Slim 3 中的做法。
但它不会转到 editSubmit 方法,而是转到 createSubmit 方法。
如何使用这些方法提交?
php - Slim 4:使用容器与模型和控制器共享数据库连接,无需 Eloquent
我正在使用 SLIM 4 开始一个 PET 项目,但我找不到在模型中使用与数据库的连接的方法。即使控制器工作正常。
我使用了一个容器来移动不同层之间的连接。
应用程序.php
配置文件
依赖项.php
/Models/BaseModel.php
/Models/ApplicantStatus.php
当使 $ this-> container 的 var_dump() 为 NULL 时,理论上他们威胁要从 BaseModel 初始化和扩展它...
此方法申请人状态-> getStatusName(); 它在控制器内部调用。
也许这就是我做错的地方......
谢谢
slim-4 - Slim 框架在每个请求上都会抛出 405 Not Found 错误
我正在尝试为我的 Angular 应用程序构建 Slim Framework Version 4 api。
在我提出的每一个请求中,我都会得到
好的部分是我的 api 按预期工作正常。但是我每次通话都会看到这个错误。
我该如何克服这一点。
如果我尝试从浏览器调用 get ,则没有错误。
如果我进行 ajax 调用,网络选项卡不会显示错误
但是我的命令提示符抛出了这个错误
编辑 1
添加路由定义
编辑 2
添加角度代码
答案 我需要添加
在我的 index.php 中接受所有选项请求
http://www.slimframework.com/docs/v4/cookbook/enable-cors.html
eloquent - 使用 Slim 框架在 Eloquent 中访问 $app 或 $request
我正在用 Eloquent 构建一个 Slim Framework 4 Api 应用程序。
公共/index.php
中间件
控制器
模型
我想在我的模型中访问 $request,以便我可以获取试图在 CanDelete 上访问的用户信息。