问题标签 [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.
php - Slim 3:如何创建缓存页面?
例如,我知道如何使用普通 php 创建缓存页面,
但是如何在 Slim 3 或其他微框架中做到这一点?
有任何想法吗?
php - Slim 3 在中间件中获取当前路由
我想在中间件类中获取当前 I 路由的名称。以前(在 Slim 2.* 中)您可以像这样获取当前路线:
$route = $this->app->router->getCurrentRoute();
但是这个功能在 Slim 3.0 版本中已经被去掉了。我在__invoke
方法中找到了以下代码Slim\App
:
这表明当前路线作为属性存储routeInfo
在Request
. 但似乎我的自定义中间件类是在设置属性之前调用的(通过$this->dispatchRouterAndPrepareRoute($request, $router);
方法)。因为调用$request->getAttribute('routeInfo')
解析为NULL
.
所以我的问题是;如何从中间件函数/类中获取当前路由(或路由名称)?
或者我应该只复制上面的代码Slim\App
吗?
php - PHP Slim 框架创建控制器
我正在使用 Slim 框架创建一个 API。目前我使用单个文件来创建路由并将闭包传递给它:
但我意识到我的文件增长迅速。我想做的是改用控制器,所以我将有一个控制器类,只需将实例/静态方法传递给路由,如下所示
然后将函数传递给路由
我试过这个,但它不起作用,我想知道是否有一种方法可以使用它来管理我的文件。
php - How to view files sent through x-sendfile as GET response
I am using Slim Framework 3. Here's my code:
When using through postman, I see the image. But, how do I show the image / video / audio on an html page using the response?
php - 如何在 Slim v3 的中间件类中访问 $container?
我一直在读到在 Slim v2 中,$app 被绑定到中间件类。我发现在 v3 中不是这种情况?下面是我的中间件类,但我只是变得不确定:
在中间件中访问 DI 容器的正确方法是什么?我猜应该有办法吗?
php - 在 Slim3 控制器的类构造函数中访问当前路由名称
使用 Slim,我将我的控制器分组,并且通常为每个组扩展一个抽象的 BaseController。我使用基于类的路由:
并且需要密码保护某些路由,有时我需要稍微不同的配置。BaseApiController、BaseAdminController... 等等。有时我需要知道我在哪条路由中,以便我可以针对该路由执行某种行为。在那些情况下,我会有一个像这样的辅助函数:
这会给我当前正在使用的路线名称。所以我可以做类似的事情......
我找不到访问正在执行的路由名称的方法。我找到了这个链接
但是当我尝试时我得到 NULL
我也尝试过建议的:
我检查了每个 Slim3 对象的属性和方法,我似乎找不到 Slim3 的等价物,或者无法访问命名路由。看起来 Slim3 甚至没有跟踪它执行的路线,它只是......执行它。
这些是路由器类具有的以下方法,我怀疑这个值会在哪里:
我希望有人做过类似的事情。当然,还有其他一些我可以做到这一点的 hacky 方法(一些我现在已经在考虑),但我更喜欢使用 Slim 来给我这些数据。有任何想法吗?
注意:我知道您可以使用中间件执行此操作,但是我正在寻找不需要中间件的解决方案。我可以在触发路由实例化的类中使用的东西。Slim2 是可能的,希望 Slim3 有类似的功能。
php - 在路由中获取参数 - Slim Framework 3
在这种情况下如何获得参数?
提前致谢。
更新
在我的情况下的解决方案:
php - SwiftMailer 的 setFrom 不使用变量
我正在尝试通过 swiftmailer 和 gmail 在本地发送联系表格的邮件。我检查了每一行,我知道问题是 'setFrom' 。
});
如您所见,我也使用 Slim 3 框架。当我运行代码时,出现此错误:
Slim 应用程序错误 发生网站错误。对暂时的不便深表歉意。
但是,如果我用$cleanEmail
代码替换'x@y.z'
!我应该怎么办?我知道通过使用 gmail 我无法更改发件人姓名,但我想将此代码上传到虚拟主机中,并且我不想在那里遇到此问题。
任何人都可以建议在 Slim 3 中重定向的更好方法吗?而不是这两行:
我已经为我的路线设置了这样的名称:
多谢!