Zend framework 什么是路线,在哪里以及如何定义?

Zend framework 什么是路线,在哪里以及如何定义?,zend-framework,zend-route,Zend Framework,Zend Route,我的zend应用程序中有几个模块。在我模块的一个视图脚本上,我创建了一个URL $links['create'] = $this -> url(array("controller" => "roles", "action" => "create"), "custom"); 这会导致一个错误,称路由“自定义”未定义 什么是路线?在何处定义以及如何定义?Zend Framework手册对路由和路由器有相当不错的介绍,包括定义路由的几种方法的描述 在一个非常基本的级别上,路由既用于

我的zend应用程序中有几个模块。在我模块的一个视图脚本上,我创建了一个URL

$links['create'] = $this -> url(array("controller" => "roles", "action" => "create"), "custom");
这会导致一个错误,称路由“自定义”未定义


什么是路线?在何处定义以及如何定义?

Zend Framework手册对路由和路由器有相当不错的介绍,包括定义路由的几种方法的描述

在一个非常基本的级别上,路由既用于将URL解析为参数(比如应该使用哪个控制器和操作),也用于执行相反的操作:获取参数并生成URL


出于您的目的,除非您想更改ZF构建URL的方式,否则您可以从
URL
调用中删除“自定义”部分。

在我的引导文件中,我通过添加以下函数初始化了路由

public function _initRouting() {

        // Get Front Controller Instance
        $front = Zend_Controller_Front::getInstance();

        // Get Router
        $router = $front->getRouter();
        $routedetialevent = new Zend_Controller_Router_Route(
            '/events/detail/:id',
            array(
                'controller' => 'events',
                'action'     => 'detail'
            )
        );
        $routeregister = new Zend_Controller_Router_Route(
            '/index/register/:id',
            array(
                'controller' => 'index',
                'action'     => 'register'
            )
        );

        $routerdetail = new Zend_Controller_Router_Route(
            '/commentaries/details/:id',
            array(
                'controller' => 'commentaries',
                'action'     => 'details'
            )
        );


        $router->addRoute('post', $routedetialevent);
        $router->addRoute('register', $routeregister);
        $router->addRoute('detail', $routerdetail);
    }
由于我在我的活动、评论中添加了自定义路线,每当我访问详细信息页面时,我不必在我的url中写入id,因此我的url将如下所示

如果我没有添加路由,我的url就会是这样


本文档并非针对像我这样的初学者。