如果有人更熟悉 Zend Framewor,他们就会知道路由是什么以及它们如何影响整个系统。我的问题是有关配置此路由的方法。我知道两种配置它们的方法,通过Bootstrap.php和application.ini。
然而,不要隐瞒这样一个事实,我自己几乎是 Zend 框架的学习者,我不知道哪个更好,哪个应该优于另一个。
此外,我不知道,如果只有这些方法可以配置路由器?
那么,请告诉我我们可以通过哪些方式配置路由器以及哪种方法比其他方法更好。
PS:我已经包括了我知道的两种方法作为答案。
如果有人更熟悉 Zend Framewor,他们就会知道路由是什么以及它们如何影响整个系统。我的问题是有关配置此路由的方法。我知道两种配置它们的方法,通过Bootstrap.php和application.ini。
然而,不要隐瞒这样一个事实,我自己几乎是 Zend 框架的学习者,我不知道哪个更好,哪个应该优于另一个。
此外,我不知道,如果只有这些方法可以配置路由器?
那么,请告诉我我们可以通过哪些方式配置路由器以及哪种方法比其他方法更好。
PS:我已经包括了我知道的两种方法作为答案。
由于我试图将其作为像我这样的人的指南,因此我想包括我所知道的两种方式。
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 将被分配给catid并pc命名
剩下的两行定义了来自控制器和动作的默认参数,来自 MVC
$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);
我将避免解释,因为几乎和以前一样。
但是,我不确定哪一个比另一个更好。所以,那些知道的人,更新我的答案。
路由是一种在运行时不会更改的配置,因此最好将配置文件与动态代码分开。如果您的路由器依赖于某些本质上是动态的条件,请在 Bootstrap.php 中定义路由器。