问题标签 [zend-controller-router]

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 投票
2 回答
316 浏览

zend-framework - 实现 Zend_Controller_Router_Interface

在这里,我想要一个不同于 Zend 提供的控制器树。让我解释一下,在我的许多项目中,我发现自己拥有超过 1000 行代码的控制器,这并不是代码可维护性的最重要方面。所以我想削减我的控制器,即。

电流控制器示例:

所以在这个例子中,我想将组和角色的概念外包给其他控制器和其他问题。

所需架构:

-> 网址:

所以我不知道如何应用这种类型的切割。

如果有人有想法我很感兴趣。先感谢您。

0 投票
1 回答
534 浏览

php - Zend_Navigation 在编写控制器/动作时与 Zend_Router 不兼容?

Zend 框架开发新手在这里试图找出一个简单的解决方案来解决 Zend 路由问题。我相信你们中的一个专业人士可以伸出援助之手。

我有一个网站(使用 Zend_Navigation 在 Zend Framework 中构建),其中包含 75% 的静态 HTML 页面内容和一些控制器。顶级导航内置于 Zend_Navigation 中,循环遍历部分。

由于我的工作,我沿着这些思路建立了很多网站(包含很多静态页面),所以我想把它做好。我不想为这些静态页面中的每一个(有很多)设置控制器和操作,我想创建一个解决方案,在该解决方案中,我曾经Zend_Controller_Router_Route将所有静态内容自动路由到StaticController将要执行的工作基于来自某种目录的 URL 中的控制器/动作配对包含或呈现 .phtml 页面,例如/layouts/staticpages

由于 SEO 和各种原因,我不想让这些静态页面的 URL 中的控制器配对显示为/static/page/page1......它必须是/section/page(例如advantages/someadvantage)的“真实世界描述”

问题是:当我设置正确的路线时,使用Zend_Controller_Router_Route可以完成这项工作,但它会使 Zend Navigation 变得糟糕......我认为因为 Zend_Navigaion 不能很好地处理动态控制器/动作切换。

代码示例:

这很好地处理了“优势”部分中切换页面的工作,但是 Zend_Navigation 的自动控制器/动作编写和“活动”节点的突出显示最终都被搞砸了,因为它现在认为它的控制器是“静态的”和动作是“显示”。

Zend_Navigation 是否从根本上不兼容Zend_Controller_Router_Route?有没有更好的方法来做这个单一的静态页面控制器或全面处理静态内容?

0 投票
1 回答
311 浏览

zend-framework - Zend 框架路由参数

我的应用程序中定义了几条路线。当路由 A 匹配并且我使用路由 B 组装 URL 而不重置时,它不包含当前请求参数。

通过与当前路由不同的路由组装 URL 时,是否有一种简单的方法来包含所有请求参数?我确实看过 Zend_Controller_Router_Rewrite->useRequestParametersAsGlobal,但这将(显然)还包括 reset = true 时的请求参数

0 投票
2 回答
243 浏览

php - zend 路由仅适用于小写字母

我在 application.ini 中设置路由,所以当我尝试访问 /moved 时,它会显示 cont/move。它有效,但前提是我输入moved的所有小写字母与第一行的设置完全相同。我怎样才能使MovedmoVed任何其他字母组合也起作用?我需要在 Bootstrap 中执行此操作以获得更好的控制吗?如何操作?

0 投票
3 回答
331 浏览

zend-framework - Zend Framework 未知模块被解释为默认模块

我想为我的工作支持多语言结构我使用了以下几行

它工作正常http://localhost/zend/public/en将 lang 参数设置为 en 并调用默认模块,但问题是当我使用这样的 url 时http://localhost/zend/public/en/anything 任何东西不是模块它仍然显示默认模块如何防止?


在takehin回答之后,我将此功能添加到bootstarp文件中,现在它可以按我的意愿工作

0 投票
1 回答
713 浏览

php - 有没有办法改变 Zend Framework 中的路由变量分隔符?

我想更改 Zend Framework 从中生成 URL 的方式:

……到这……

请注意,在第二个选项中,中间的斜线$routeString被下划线替换。

当我进行此更改时,路由器停止识别路由和变量。我觉得框架会强加这样的事情很奇怪,所以我确定我在文档中遗漏了一些东西。

干杯!

0 投票
2 回答
4163 浏览

php - Zend Framework Router 动态路由

我遇到了一个问题,我似乎无法找到一个好的解决方案来让它发挥作用。我必须在 Zend Framework 项目中创建一些动态路由。我将简要解释我的问题是什么:

我需要有“扩展”默认路由(module/controller/action/params)的动态自定义路由。我正在工作的项目有几个合作伙伴,并且路线必须与这些合作伙伴一起工作。为了存储合作伙伴,我制作了一个静态类,它看起来像这样。

所以App_Partner::routePartners()给我一个字符串(partner1|partner2|partner3),我用它来创建正确的路线。我的目标是为我在 Bootstrap 中设置的每条路线为每个合作伙伴提供自定义路线。因此,如果我有一个路由add-product.html集,我希望它为每个合作伙伴工作partner1/add-product.htmlpartner2/add-product.html并且partner3/add-product.html。此外,partner1/, partner2/,partner3应该路由到default/index/index

事实上,我使用下面这样的路线让这个东西工作。

问题

如果我在请求 URI 中使用合作伙伴,上述路由可以正常工作,但如果我不这样做,我会得到双斜杠,public//proposals.html因为上面路由中设置的反向路由是"%s/proposals.html". 我似乎找不到避免这种反向路由的方法,因为我使用url 查看帮助程序构建了我的 url ,如果没有设置反向路由,我会收到一个异常说明。

我还需要在没有合作伙伴集的情况下工作的路线,这将是默认方式(add-product.htmlproposals.html)。

0 投票
1 回答
165 浏览

php - 帮助创建 Zend 框架重定向

我正在尝试创建一个 mod 重写表达式以从 localhost/1234 重定向到 localhost/controller/action?param=1234。

我的 bootstrap.php 中有以下内容,它以 localhost/number 形式重定向所有请求

但是,我需要将一个参数传递给我的 publicAction。

谢谢您的帮助。像我这样的新手比你想象的更欣赏它!

0 投票
0 回答
345 浏览

zend-framework - zend_Controller_Router_Route 的问题

我遇到了 zend_controller_Router_Route 的问题。

我创建了一条路线:

这是我的视图脚本:

当我将鼠标移到一个类别上时,它的 href 是准确的(例如:http://localhost/projectzend/chapter5/public/catalog/hats)。但是当我点击时,它会返回一个 url - http://localhost/

问题可能出在哪里?

0 投票
3 回答
166 浏览

zend-framework - Zend 路由器问题

我使用模块布局来构建我的控制器:

:模块/:控制器/:动作

我想添加一个新的自定义路由,以便以下 url 起作用。

domain.com/用户名

其中用户名是网站上任何注册用户的用户名。

谁能指出我正确的方向?

谢谢