我正在尝试使用 Zend 路由器创建一个子域,然后对于子域下的每个部分,例如 subdomain.site.com/section/ 我正在创建另一个路由,然后尝试将其链接到子域路由。但我不知道怎么做。我已经阅读了我能找到的所有文档和所有论坛,但它让我自己弄清楚。到目前为止,我的尝试只是给我这个错误:
可捕获的致命错误:传递给 Zend_Controller_Router_Rewrite::addRoute() 的参数 2 必须实现接口 Zend_Controller_Router_Route_Interface,给定 null,在第 155 行的 /var/local/zend/library/Zend/Controller/Router/Rewrite.php 中调用并在 /var 中定义/local/zend/library/Zend/Controller/Router/Rewrite.php 在第 93 行
使用以下代码:
routes.b2b.type = "Zend_Controller_Router_Route_Hostname"
routes.b2b.route = "sales.sitename.com"
routes.b2b.defaults.module = b2b
routes.b2b.defaults.controller = index
routes.b2b.defaults.action = index
routes.b2b_signup.type = "Zend_Controller_Router_Route_Static"
routes.b2b_signup.route = "/signup"
routes.b2b_signup.defaults.controller = "index"
routes.b2b_signup.defaults.action = "signup"
routes.b2b_login.type = "Zend_Controller_Router_Route_Chain"
routes.b2b_login.chain = b2b_signup
我在网络上的任何地方都找不到如何将其与 INI 文件链接的示例。整个应用程序是在路由配置的 INI 中编写的,因此我无法将其切换到基于数组的配置(或 XML),互联网上 100% 的示例都在其中。
如果我能以数组形式做到这一点,我可以这样说:
$hostnameRoute = new Zend_Controller_Router_Route_Hostname(
'sales.sitename.com',
array(
'controller' => 'index',
'module' => 'b2b',
'action' => 'index'
)
);
$hostnameRoute = new Zend_Controller_Router_Route_Static(
'/signup',
array(
'controller' => 'index',
'module' => 'b2b',
'action' => 'signup'
)
);
$chainedRoute = new Zend_Controller_Router_Route_Chain();
$chainedRoute->chain($b2b_signup)
有人对如何在 INI 文件中执行上述操作有任何想法吗?