gpt4 book ai didi

routes - 在 ZF2 控制台应用程序中使用 HTTP 路由

转载 作者:行者123 更新时间:2023-12-02 13:42:49 25 4
gpt4 key购买 nike

我正在尝试编写一个控制台操作来为我的应用程序重新生成 XML 站点地图。 ZF2 检测到我正在运行 PHP 的 CLI 版本,因此使用控制台路由,但当 Zend Navigation 尝试构建站点地图时,它会因“未找到名称为 'xxx' 的路由”而阻塞,因为它没有了解任何指定的 HTTP 路由。当通过普通的 HTTP Controller 使用时,相同的代码可以完美地工作。

有没有办法让 HTTP 路由在控制台应用程序中工作?

最佳答案

根据您的请求,“路由器”将是 cli 或 http 路由器。但是,如果您在服务管理器中加载 HttpRouter,您将显式获得 http 请求的路由器。然后你必须确保这个路由器被注入(inject)到导航中,而不是默认的(因此,cli)路由器。

问题是导航生成器是 very badly constructed 。因此,你必须解决这个问题。我假设您在 Controller 内生成此 XML:

public function generateAction()
{
$event = $this->getEvent();
$http = $this->getServiceLocator()->get('HttpRouter);
$router = $event->getRouter();

$event->setRouter($http);

// Get your navigation here
// Build your XML here

$event->setRouter($router);
}

关于routes - 在 ZF2 控制台应用程序中使用 HTTP 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17086929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com