1

如果有人更熟悉 Zend Framewor,他们就会知道路由是什么以及它们如何影响整个系统。我的问题是有关配置此路由的方法。我知道两种配置它们的方法,通过Bootstrap.phpapplication.ini

然而,不要隐瞒这样一个事实,我自己几乎是 Zend 框架的学习者,我不知道哪个更好,哪个应该优于另一个。

此外,我不知道,如果只有这些方法可以配置路由器?

那么,请告诉我我们可以通过哪些方式配置路由器以及哪种方法比其他方法更好。

PS:我已经包括了我知道的两种方法作为答案

4

2 回答 2

2

由于我试图将其作为像我这样的人的指南,因此我想包括我所知道的两种方式。

应用程序.ini

resources.router.routes.cat.route = "/browse/:catid/:name/"
resources.router.routes.cat.defaults.controller = index
resources.router.routes.cat.defaults.action = browse

在这里,您要做的是, resources.router.routes.XXX.route定义路线的名称来代替XXX

catid并且name是将采用的两个参数,当您传递 url 时,/browse/1/pc1 将被分配给catidpc命名

剩下的两行定义了来自控制器和动作的默认参数,来自 MVC

引导程序.php

    $front = Zend_Controller_Front::getInstance();  
    // Get Router
    $router = $front -> getRouter();
    $routeBrowse = new Zend_Controller_Router_Route(
        '/browse/:catid/:name',
        array(
            'controller' => 'index',
            'action' => 'index'
        )
    );
    $router -> addRoute('browse', $routeBrowse);

我将避免解释,因为几乎和以前一样。

但是,我不确定哪一个比另一个更好。所以,那些知道的人,更新我的答案。

于 2011-08-17T11:04:11.363 回答
2

路由是一种在运行时不会更改的配置,因此最好将配置文件与动态代码分开。如果您的路由器依赖于某些本质上是动态的条件,请在 Bootstrap.php 中定义路由器。

于 2011-08-17T13:38:59.673 回答