我使用Zend框架1.11.2。我想创建可以在电子邮件文本中使用的控制器操作的url。
在控制器中,我使用zend_view_helper_serverurl和zend_view_helper_url这样做:

$serverUrlHelper = new Zend_View_Helper_ServerUrl();
$unsubscribeUrl = $serverUrlHelper->serverUrl(
    $this->getHelper('url')->url(
       array(
           'module' => $this->getFrontController()->getDefaultModule(),
           'controller' => 'newsletter',
           'action' => 'unsubscribe',
           'email' => $email
       ),
       'default',   // the route
       true));

现在,我不想在控制器中这样做,而是在命令行中这样做。我已经按照这里描述的步骤启动了一个zend控制器/操作。但是Application_Router_Cli没有assemble函数的实现。我从未对Zend Routing做过深入的研究。有人能给我一个提示如何实现它吗?

最佳答案

不是从应用程序路由器cli中的zend_controller_router_抽象进行子分类(如本教程中所述),而是重写zend_controller_router_的子类。这将为您提供assemble()函数,并允许您使用url助手,就像您通常在web上下文中使用它一样。

09-10 20:27