问题标签 [zend-framework-routing]

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

zend-framework2 - zf2 路由器:一个模块使路由器无法找到另一个模块。我怎样才能使两者都起作用?

我们刚开始使用 zf2,所以别人做了一个缩略图服务器模块,然后我添加了一个查找服务器模块。我称这些服务器是因为它们都是 RESTful api。最初它们似乎可以一起工作,但有人对我的模块进行了一些更改,现在缩略图服务器将无法工作,除非从application.config.php模块列表中删除 Lookup。查找服务器无论如何都可以工作。查看代码,我看不出对 Lookup 所做的更改会如何影响 Thumbnail。我得到的错误如下所示:

如下application.config.php所示:

如您所见,这里有最初的专辑模块,还有一些其他的实验性模块。我的 Lookup 模块使用了Allessandro Pietrobelli 的优秀 AP_XmlStrategy 模块

下面是缩略图module.config.php。它有一个可能没有被使用的约束,因为没有称为“id”的参数,但这不应该把事情搞砸,不是吗?

和 Lookup module.config.php,标识符被混淆:

这里有我遗漏的明显错误吗?

0 投票
1 回答
631 浏览

zend-framework - Zend Framework 2 中模块内的自动基于约定的路由——可能吗?

我试图了解让我的路由在 Zend Framework 2 中工作所需的所有配置,我不禁想知道我是否让这变得比必要的更复杂。

我正在开发一个简单的应用程序,它将遵循一个非常简单的约定:

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

我已经创建并连接了我的模块“svc”(“服务”的缩写)。然后我创建了第二个控制器,即“ClientsController”,但我无法通过路由将我的请求传递到例如 /svc/clients/list 到 ClientsController::listAction()。

当我涉足数百行配置时,在深度嵌套的数组中,我在想——难道没有某种方法可以将我的 URL 默认映射到 /:module/:controller/:action 吗?

感谢您的任何帮助。我将离开Zend Framework 2 Quick Start,它引导我创建一个新模块,然后向该模块添加一个控制器。但是当我尝试向该模块添加第二个控制器时,我在路由上绊倒了。

更新:我第一次没有发现这个,但显然这应该是 Zend Framework Skeleton 应用程序的一个特性。从快速入门指南:

ZendSkeletonApplication 附带了一个“默认路由”,可能会让您执行此操作。该路由基本上需要“/{module}/{controller}/{action}”,它允许您指定:“/zend-user/hello/world”</p>

这正是我想要的!但我无法让它工作。

它列出了一个不完整的 module.config.php,底部有一条关于将“其他配置”放在这里的注释。我试图弄清楚“其他配置”是什么,并以这个结束:

JFYI,这是我的控制器的样子。

我的路线不起作用。当我尝试拉起我的任何路线时,我得到“找不到路线”。

0 投票
1 回答
204 浏览

zend-framework2 - ZF2 - 尝试创建类似 ZF1 的路线

我的 ZF2 应用程序中实际上有 2 个模块(应用程序和管理),我想要一个像 ZF1 一样的 url 路由。我目前有以下路线:

所以它将匹配“/admin”、“/admin/controller”、“/admin/controller/action”,但不匹配“/controller/action”。

现在我需要一条通往应用程序模块的路线。问题是,如果我简单地为模块应用程序使用类似的路由,则此新路由将匹配“/admin/controller”作为控制器 =“管理员”和操作 =“控制器”。

我还在应用程序中尝试了以下正则表达式路由:

但它没有得到变量“控制器”和“动作”。

有没有人建议如何解决这个问题?

0 投票
1 回答
194 浏览

json - zf2 json查看脚本

我们目前正在尝试以这样一种方式设置路由,即可以使用路由参数设置返回的内容类型。路由现在一切正常,但有一个问题。如果请求 html,则呈现正常的视图脚本。我们提供给这个脚本的数据可以是任何东西,从字符串到对象集合,视图脚本决定向用户显示什么。

但是,如果请求 JSON 响应,那么我们只需将控制器返回的数据作为 JSON 提供。但是,某些数据不应向用户公开,因此需要进行一些过滤。是否有可能使用 JSON 视图脚本(如在 ZF1 中使用上下文切换)来支持此类过滤?或者也许是另一种方法?

0 投票
2 回答
470 浏览

url - Zend 2.2 中删除 htaccess 后的 Zend 框架主页 URL 索引问题

我想在没有 .htaccess 的情况下运行应用程序,并且我删除了它。现在,当我单击 n 主页时,例如“localhost/testsite/index.php/”它可以正常工作,并且相关的链接 url 也可以正常工作。但是当我尝试打开“localhost/testsite/index.php”时,它会在下面给出错误消息。

发生 404 错误页面未找到。请求的 URL 无法通过路由匹配。

没有可用的例外

此外,当我打开“localhost/testsite/”时,主页正常,但相关链接停止工作。下面给出了我的应用程序 module.config.php。

);

如果有人在 zend 2.2 中运行没有 htaccess 的应用程序,请提供帮助。

0 投票
1 回答
2955 浏览

zend-framework2 - Zend Framework 2 - 分段路由

我正在使用 Zend Framework v2.2.0 构建一个应用程序,并且我正在为每个部分创建不同的模块。

在一个名为 的模块中Company,有这样一条路线:

在另一个名为 的模块中Vineyard,我有这条路线:

当我使用 url 等进行测试时domain.ext/Company-name/red-wines/domain.ext/Company-name/white-winesCompany调用控制器。

如果我用 测试domain.ext/vineyard/Vineyard-name/Vineyard控制器没有被调用,仍然被调用,Company并且错误消息说控制器无法调度请求。当然VineyardnameAction()CompanyController课堂上没有调用方法。

我期待路由与正则表达式上指定:action的值列表:slug_company匹配vineyardVineyard-name

如果我用 测试:action正则表达式preg_match_all,则在像domain.ext/vineyard/Vineyard-name/.

如果我禁用Company模块或删除company_wines路线,vineyard路线正在工作。

我已经解决了为每种葡萄酒类型创建不同的路线,但我想了解我做错了什么:)

0 投票
1 回答
792 浏览

php - 在 Zend Framework 1.12 中,Controller,Action 的区分大小写规则是什么

我在一个项目中使用 Zend Framework 1.12。

事情太奇怪了。我没有使用模块。只是控制器和动作。

我的控制器文件名是MyCCController.php,“CC”是大写的。

我在这个控制器文件中的操作是 MyAAAction,'AA' 是大写的。

我试过 url http://localhost:8003/Mycc/myAA。它显示错误-'找不到页面'。我用谷歌搜索,看到有人说动作名称必须小写。所以我将“MyAAAction”更改为“myaaAction”。.phtml 文件是'views\scripts\MyCC\MyAA.phtml'。它不关心大写或小写。

然后我访问了网址http://localhost:8003/MyCC/myaa,它仍然显示“找不到页面”。

我更改了网址http://localhost:8003/Mycc/myaa,'CC'变成了'cc'。然后就可以了。

所以我的问题是,是否有任何文章详细说明 MVC URL 区分大小写的规则?

或者谁能​​给我关于控制器名称、动作、*.phtml 文件或相关内容的规则。

如果我需要动作名称为camelCase,如何实现?

0 投票
3 回答
327 浏览

php - 带有 SEO URL 的静态子页面

如何提供静态 .phtml 子页面,并在 db 中定义参数?

例如,我在数据库中有条目:

这是一个简单的例子。当然,我可以在 module.config.php 中创建 maaaany 路由,但我想动态管理来自数据库的页面(在管理面板中)。SEO URL 非常重要:像 /about/subpage/author 这样的 URL 并不比 /author 好。

任何想法我该怎么做?

0 投票
1 回答
381 浏览

php - 如何向 Zend URL 映射添加规则并组合多个 MVC 路径?

这是因为我想在同一个项目中开发一个包含多个应用程序的 Web 平台。


在任何 MVC Web 应用程序中,我们都应该有这个默认的 URL 模式:

domain/// controller_ action_parameters

1:在 Zend 中,我可以做什么(在哪些文件中)更改此模式以在application名称前添加controller名称?

预期结果domain://// application_controlleractionparameters

2:如何实现这个新 URL 块的结果,即我将为每个应用程序分离 MVC,将共享资源维护在单独的目录中?我可以在 Zend 中进行哪些更改autoloader

预期结果:

0 投票
1 回答
323 浏览

php - ZF1 Zend_Controller_Router_Route 可选段

我对 Zend_Controller_Router_Route 有一些问题。我在标准模块/控制器/动作符号中有以下网址:

http://www.mysite.com/rent/index/region/myregion/town/mytown/district/mydistrict/filter_params/filter_values

模块:租金控制器:索引

参数:地区,城镇,地区

filter_params 是更多的分页参数和向下钻取的东西

我想将其简化为: http ://www.mysite.com/rent/myregion/mytown/mydistrict/filter_params/filter_values/

但这些也应该有效

http://www.mysite.com/rent/myregion/mytown/filter_params/filter_values

http://www.mysite.com/rent/myregion/filter_params/filter_values

我试过这条路线

这个有效: http ://www.mysite.com/rent/myregion/mytown/mydistrict

这些失败了

http://www.mysite.com/rent/myregion/mytown

http://www.mysite.com/rent/myregion

当我有类似http://www.mysite.com/rent/myregion/mytown/filter_params/filter_values的路线时,如何声明其他路线以及所有其他参数会发生什么

谢谢您的帮助!