问题标签 [slim]

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 回答
1517 浏览

templates - Slim,Twig - 如何将 var 传递给 Twig 到基本模板

我想在用户面板框中显示未读消息的数量,每次用户登录时都会出现。

如何将 msg 的数量从控制器传递到基本布局中包含的用户面板框?我不能为此使用路由,因为面板出现在所有页面上(索引也是如此)。

现在我使用全局会话发送它,但我认为它可以做得更好。有什么线索吗?

控制器:

基地布局

用户面板框

典型模板

0 投票
1 回答
4324 浏览

php - 使用 slim 上传文件:POST 响应中的 301

我的文件上传有问题。当尝试将文件发送到我的本地服务器时,我得到“301 永久移动”作为 POST 的响应。上传目录中没有创建文件。下面是 index.php 和 upload.html 的代码。$base_url 指向 localhost/testpage

[索引.php]

[上传.html]

0 投票
2 回答
1887 浏览

php - 如何在 Slim 框架上访问中间件中的请求对象

我正在尝试在中间件中获取 Request 对象。我正在创建一个 ajaxOnly 中间件,并且需要检查 isXhr() 请求方法。我试图创建如下内容:

并像这样使用:

但它给了我以下错误:

Slim 应用程序错误由于以下错误,应用程序无法运行:

  • 代码:2 消息:
  • {closure}() 缺少参数 1
  • 文件:/var/www/myapp/routes.php 行:3
0 投票
2 回答
2691 浏览

php - Slim 框架 .htaccess / 山狮 osx

我有一个问题让我有些头疼,我希望这里有人可以分享一些光。

我之前运行 OS X Mountain Lion 时使用超薄框架完全没有问题。自从升级到 OS X Mountain Lion 后,我就遇到了麻烦,因为它会重写您的 httpd.conf 和其他设置。其中之一似乎是 htaccess。我有虚拟主机设置,一些以前使用 slim 工作的现在在除/.

所以我的 htaccess 文件自升级以来没有改变,所以我想知道问题是什么。我正在使用苗条框架下载中提供的默认 htaccess,我什至尝试了自定义的但无济于事。

访问/产生所需的页面。访问不同的 URL 会执行以下操作:

任何人任何提示?


mod_rewrite 已启用,这就是我的虚拟主机设置:

0 投票
1 回答
644 浏览

backbone.js - PHP CMS Concrete5 是否与 Backbone 和 Slim 兼容?

环境: Concrete5 解析 URL 以找到页面的控制器 - 或工具文件,它没有视图 - 并呈现它的视图。这有点简单,但这是要点。

因为 Concrete5 拥有如此漂亮的架构来处理大量内容,所以我想将其用作一种后端机制来为用主干编写的 Web 应用程序提供动力。Backbone 需要一个 RESTful 实现,我已经看到 Slim 实现了它——一个基于 PHP 的 RESTful api。

冲突: 因为 Concrete5 解析 URL(以发现页面的控制器 [呈现视图] 或工具文件 [不呈现视图])它与 Slim 的 REST 实现冲突。这部分是真的……

这部分只是相信: Slim 的 URL 是伪造的,仅用于进行 Backbone 在成功时使用的 ajax 调用 (REST)。浏览器被阻止执行其默认操作 - 这意味着一旦您在选择页面上,与 Concrete5 没有冲突。

问题:

1)。那么答案仅仅是创建一个single_page 而根本不呈现视图吗?
2)。一旦“未呈现”,我可以简单地继续上述信念吗?
3)。还是我会遇到比我意识到的更多的冲突?

当然,有一种方法可以让 C5 拥有一个页面(通过将全局“C5_ENVIRONMENT_ONLY”变量设置为“true”而不是整个站点)来使用 RESTful api。

有没有其他人在其他 CMS / Backbone 项目中做过类似的事情?

TIA

0 投票
1 回答
482 浏览

.htaccess - .htaccess 并不总是加载

好的,所以我最近将我的 imac 从 Lion 升级到了 Mountain lion osx (10.8)。我一直在使用默认的 apache 设置和 vhosts 等进行 php 开发,因为升级安装将很多设置更改为我的 httpd.conf 文件。

目前,我有两个项目在进行中,一个使用 CakePHP 设置,另一个使用 SlimFramework,这两个 php 框架都带有 .htaccess 文件。

我遇到了一些问题,其中 cakephp htaccess 加载并按预期工作,但 slimframework 没有。这两个都在 Lion 上工作,我很困惑为什么他们会受到不同的对待。

mod_rewrite 模块已加载,已启用,并且我的 AllowOverides 设置为 ALL。什么会导致 SlimFramework 文件无法加载?

0 投票
4 回答
3424 浏览

php - Slim PHP 返回的jQuery .submit() 上传表单显示响应

我有一个用于将文件上传到服务器的 html 表单。为简洁起见,我只展示了基本的部分

我使用 jQuery.submit() 提交表单:

业务逻辑是 Slim PHP : $app->post('/upload', 'uploadFile'); ……

问题:如果由于某种原因上传失败,则会引发异常,用户会被带到 PHP 错误页面。如果上传无异常完成,应用程序将被重定向到主页。

需要的是:如果上传成功,应用程序应该像现在一样重定向到主页......但是如果抛出任何异常,而不是转到 PHP 错误页面,应用程序应该停留在上传页面并使用id = 'response' 应该显示异常。

有没有可能用 jQuery submit() 做这样的事情:

???

我知道 JQuery 上传文件插件会让生活更轻松......但这不是我的选择......

感谢您的任何指点!

是否可以

0 投票
1 回答
805 浏览

jquery-ui - 带有 Slim 框架的 jqueryUI 自动完成功能

我从 php、jquery 和 Slim PHP 框架开始,我一直在为 jqeryUI 自动完成请求制作 Slim 处理程序(路由)。

  1. jqeryui 自动完成将数据作为termGET 参数发送,即restapi.php/test/?term=hello
  2. 使用 Slim,我可以处理诸如restapi.php/test/hello等之类的请求。

怎么解决?我自己考虑过的解决方案是用 mod-rewrite 重写 URL(无论如何基本上都将它与 Slim 一起使用),但我不确定这是否是正确的方法。

我会很高兴收到您的修改和建议,如果重写是最好的方法,一些带有示例的参考资料将对我有所帮助。谢谢你。

0 投票
1 回答
801 浏览

php - 父类不会从子类中的覆盖方法中捕获异常

我对Slim 框架有这个问题。我有具有渲染方法的类模板,如果路由处理程序返回,我希望 Slim 渲染此类的对象

它工作我创建了子类(在 System.php 中)

我想用 notFound 做同样的事情

所以我重写了 notFound 函数来包装 Closure 并呈现它的返回值

首先我尝试使用更小的代码

我也试试这个(复制和修改旧代码)。

但它不起作用的原因是它Slim_Exception_Stop假设被 Slim 缓存在这里是调用$this->notFound(); https://github.com/codeguy/Slim/blob/master/Slim/Slim.php#的代码行L1160 它在里面 try..catch。

这是堆栈跟踪(我将它缓存在 notFound 函数中 - 但它应该在 Slim 类中处理)。

0 投票
1 回答
438 浏览

java - Java REST 接口

我有一个 PHP Web 应用程序环境。我正在使用 Slim Framework 作为我的应用程序的 REST 接口。我的应用程序前端是使用 Backbone.js 和 jQuery 编写的。

有一个实用程序(.jar 文件),当我使用命令行进行远程调用(我猜这是一个 Web 服务)时,它会返回数据。

我如何最好地将其合并到上面描述的我的 web 应用程序中?

我的应用程序前端将有一个 Button,它应该对 REST 接口进行 AJAX 调用并以 JSON 格式获取数据。

我的做法:PHP-REST 接口 url 是:/api/phprestapi.php 存在

在 url: /api/javarestapi.java (也许) 处添加一个 JAVA-REST 接口来分隔这两个

现有环境:Ubuntu 上的 LAMP 堆栈

我如何实现这一目标?所涉及的努力是什么?

感谢您的指点