问题标签 [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.
regex - Zend Framework 2 子正则表达式和文字路由
基于这个stackoverflow问题15077075,我已经完成了我的应用程序有一个基于正则表达式的路由,所以我可以将它传递给我的视图和编辑操作。
- app/123 - 应用控制器视图操作(通过文章 id 获取)
- app/name-of-article - 应用控制器视图操作(通过文章名称获取)
- app/123/edit - 应用控制器编辑操作(文章 ID)
- app/name-of-article/edit - 应用控制器编辑操作(文章名称)
- app/search/{search-string} - 应用程序控制器搜索操作(目前只接受不带空格和特殊字符的搜索字符串)
这是我用下面的代码完成的,类似于上面链接中的代码:
我有两个问题,第一个是 url viewhelper 无法识别我的路线
它只是打印 /app 而不是 /app/recent,
当$action = 'search'
或$action = 'new'
仅打印 /app时也会发生同样的情况
第二个是只有当我在其中输入空格或特殊字符时,搜索才会被其控制器操作识别
当我尝试在搜索键('[\sa-zA-Z0-9_-]+')的约束中添加 \s 时,它会路由到编辑功能
搜索的路线是这样的
编辑了到这个的路线并且它有效
如果需要任何代码片段,我希望很清楚我想要什么,请询问
php - ZF2 控制器映射问题
我是 Zend 的新手。我已经设置了本地开发,zend.local
我正在创建一个新模块说Csv,当我转到像 zend.local/csv 这样的 URL 时,它给了我以下错误
我module.config.php
的如下:
zend-framework - 如何在 zend 2.3 中运行管理模块?
我通过谷歌搜索做了很多尝试,但我还没有找到合适的解决方案。谁能帮我吗?即使我尝试module.config
通过路由更改文件代码,也尝试通过application.config
文件在文件中添加模块名称,但它不起作用。
致命错误:在 D:\xampp\htdocs\myproject\vendor\zendframework\zendframework\library\Zend\Mvc\Router\SimpleRouteStack 中未捕获异常 'Zend\Mvc\Router\Exception\InvalidArgumentException' 并带有消息 'Missing "type" option' .php:269 堆栈跟踪:#0 D:\xampp\htdocs\myproject\vendor\zendframework\zendframework\library\Zend\Mvc\Router\Http\TreeRouteStack.php(163): Zend\Mvc\Router\SimpleRouteStack-> routeFromArray(Array) #1 D:\xampp\htdocs\myproject\vendor\zendframework\zendframework\library\Zend\Mvc\Router\Http\TreeRouteStack.php(113): Zend\Mvc\Router\Http\TreeRouteStack->routeFromArray (数组)#2 D:\xampp\htdocs\myproject\vendor\zendframework\zendframework\library\Zend\Mvc\Router\SimpleRouteStack.php(140): Zend\Mvc\Router\Http\TreeRouteStack->addRoute('controllers ', 数组) #3 D:\xampp\htdocs\myproject\vendor\zendframework\zendframework\library\Zend\Mvc\Router\SimpleRouteStack.php(84): Zend\Mvc\Router\SimpleRouteStack->addRoutes(Array) #4 D:\xampp\htdocs\ myproject\vendor\zendframework\zendframework\library\Zend\Mvc\Router\Ht 在 D:\xampp\htdocs\myproject\vendor\zendframework\zendframework\library\Zend\ServiceManager\ServiceManager.php 在第 909 行
php - ZF2 fromRoute 不返回默认操作名称
我将创建一个这样的链接:
somesite.com/management/users/index/delete/10
其中 management 是模块名称,users 是控制器,index 是动作名称,delete 是获取记录 id 的参数。要创建此链接,我正在使用这部分代码:
我的配置如下:
结果是这样的:
somesite.com/management/users/delete/10
该函数省略了动作名称,因为它是我的默认动作,然后将删除作为动作名称,最后我得到 404 错误。如您所见,我有一个参数“id”,它不允许我从链接中省略短语“delete”。通过从 url 中省略“delete”,ZF2 将输入作为“id”而不是“delete”。我也无法更改我的默认操作。有没有办法告诉 ZF2 在 url 中输入动作名称?
php - ZF2 分段路线:仅最后一个元素
我有这个段路线:
它可以正确识别这样的 url,带有“id=20”:
但它也可以通过以下网址识别“id=20”:
我怎样才能避免这种情况?
zend-framework - 控制台中的 ZF2 主路由器
如何url()
在控制台内使用控制器助手?
我必须使用控制台的操作生成一些 url,但是如果我调用$this->controller->url()->fromRoute(...);
,我只能询问路由器中定义的console
路由。
换句话说,我需要能够调用应用程序主路由器的所有路由。
谢谢
php - ZF2:使用转发插件时如何为所有控制器全局更改请求对象?
我在测试和性能目的中使用前向插件。首先IndexController
数据通过正常的 POST 请求。在那里我得到了这个请求和 POST 数据,我需要再添加一个参数。
比我使用转发插件
当我在这里时,PortController
我会再次收到我的请求 POST 数据,它应该包含我的更改IndexController
但事实并非如此。它得到的请求对象没有变化。
如何在当前请求过程中为所有控制器全局更改请求?
我已经在尝试什么?
所有这些差异都不起作用。
我已经阅读了这个答案 ZF2:如何将参数传递给转发插件,然后我可以在我将它们转发到的方法中获取这些参数?
但我不想通过参数传递数据,我需要更改请求。
UPD
但现在我已经过测试,也许是因为在接收方我试图以这种方式获取请求
但我应该这样使用它
这是因为我使用了 Apigility RPC 服务,并将 JSON 格式的 post 数据放在 Request Content 字段中,而不是放在 POST 中。在另一个地方我试着得到它
但是在我开始使用 POST 之后,这就是它开始感到困惑的原因。
zend-framework - Zend Framework 2 路由错误:解析为无效的控制器类或别名
我正在尝试学习 Zend Framework 2,并且我已经启动并运行了他们的骨架应用程序。为了访问它,我访问http://localhost:8080/。当访问该链接时,它会显示他们的通用 Zend 页面。我想要做的是访问http://localhost:8080/application/test并让它把我带到具有不同布局的不同页面。
这是module.config.php
为了使它对我有用,这是我尝试过的:
首先,我在 Application/src/Application/Controller/ 中创建了一个名为 TestController 的控制器。
接下来我添加了 'application/test/index' => DIR。'/../view/application/test/index.phtml' 到 view_manager 中的 template_map 数组。
我还在控制器数组中添加了 'Application\Controller\Test' => 'Application\Controller\TestController'。
当我访问http://localhost:8080/application/test时出现错误:test(resolves to invalid controller class or alias: test)
我显然做错了,但是 Zend 上的文档对新手一点也不友好,而且变得非常令人沮丧。有人能指出我正确的方向吗?配置太多了,我敢肯定我错过了一些小东西。谢谢!
php - 子,通过方法不路由与子路由分段路由
这里的顶级路由器有效。/property 是一个字面量路由,它不会终止并在子路由上执行 GET 操作。在此之下,我有一个段路由,就像它的父级一样,它不会终止并在子路由上执行 GET 操作。它应该只在 /property/12 上响应 GET 请求
在那里路由时出现未找到的错误。
php - ZF2 Route 基于方法同时扩展 AbstractRestfulController
在 Zend Framework 2 中,我试图AbstractRestfulController
根据请求类型将一些动态 url 路由到扩展的控制器中的指定操作。问题是,AbstractRestfulController
不断将这些路由覆盖到默认操作get()
,getList()
等等。
我的路线是:
我的路由器配置是:
我的控制器具有以下操作:
如何以这种方式专门路由,以便此控制器不允许其他请求类型/覆盖默认AbstractRestfulController
路由?
另外,我想继续扩展这个控制器,因为我实际上是在扩展一个更通用的控制器,它扩展了这个 Zend 控制器。