- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
场景:
有一个名为 fabric 的 zf2 应用程序,它包含两个名为“bike”和“car”的不同模块,并通过以下 url 结构提供相似(但不相同)的功能:
+------------------+-------+-------------------------+-------------+-----------------+--------+
| Hostname | Part | Page | Module | Controller | Action |
+------------------+-------+-------------------------+-------------+-----------------+--------+
| www.fabric.dev | / | Company homepage | Application | IndexController | index |
| bikes.fabric.dev | / | Homepage for bikes | Bike | IndexController | index |
| bikes.fabric.dev | /list | Listing of bikes | Bike | ListController | list |
| cars.fabric.dev | / | Homepage for cars | Car | IndexController | index |
| cars.fabric.dev | /list | Listing of bikes | Car | ListController | list |
+------------------+-------+-------------------------+-------------+-----------------+--------+
所以,
\Application
, \Bike
\Car
/www/fabric.dev/public
每个模块在 module.config.php 文件中都有自己的路由定义,如下面的非工作示例:
// module/Application/config/module.config.php
'router' => array(
'routes' => array(
'home' => array(
'type' => 'Hostname',
'options' => array(
'route' => 'www.fabric.dev',
'defaults' => array(
'__NAMESPACE__' => 'Application\Controller'
'controller' => 'Application\Controller\Index',
'action' => 'index',
),
)
)
)
);
和
// module/Bike/config/module.config.php
'router' => array(
'routes' => array(
'home' => array(
'type' => 'Hostname',
'options' => array(
'route' => 'bikes.fabric.dev',
'defaults' => array(
'__NAMESPACE__' => 'Bike\Controller'
'controller' => 'Bike\Controller\Index',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'default' => array(
'type' => 'Literal',
'options' => array(
'route' => '/list',
'defaults' => array(
'controller' => 'Bike\Controller\List',
'action' => 'list',
),
),
),
),
),
)
)
问题与疑问
网络上有足够多的文档介绍 zf2 的路由类,例如主机名、段、文字和正则表达式,但没有关于如何配对以及如何一起使用这些很棒的类。
除了将所有应用程序源代码复制到单独的 vhost 目录之外,是否有任何正确的方法可以使用路由器配置提供上述 uri 方案?
最佳答案
您必须了解路由的工作原理。路由基于键 并包含一些选项。所有模块的所有配置(包括路由)都合并到一个配置数组中。
这意味着如果您在应用程序中定义了一条路线home
,然后在 Bike 中定义了相同路线home
,则 Bike 将覆盖来自应用程序的主页。
最好也有基于您的命名空间的路由名称。所以申请路线:
'router' => array(
'routes' => array(
'home' => array(
// config here
)
)
);
自行车路线
'router' => array(
'routes' => array(
'bike' => array(
// config here
)
)
);
注意第二个例子中home
和bike
的区别!
关于zend-framework2 - 在 ZF2 路由器配置中的主机名下配置子路由的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16717542/
当我像这样使用 zend CLI 创建表单时,会生成一个表单并将其添加到表单文件夹中。 zf create form MyForm 我有一个自定义类,我想以相同的方式为其创建一个自定义命令,并希望查看
我有一个以 user_id 作为主键的用户表和一个以 user_date_id 作为主键的 user_dates 表,user_id 链接到用户表以及 start_date 和 end_date 字段
我得到了这个代码 $select ->from(array("e" => "embarcacoes")) ->join(array("i
我遇到了 PHP 和 Zend Framework 的这个小问题。 我使用 apt-get install libzend-framework-php 安装了 ZF它还安装了二进制 zf.sh和 ze
我有一小段(x86)程序集,我试图弄清楚它的作用。 ... 6: 81 ec 00 01 00 00 sub $0x100, %esp c: 31 c9
我正在将 ZF 用于 MVC 应用程序,并且对我的代码应该如何构建感到非常困惑。 我有一个过程应用程序,它基本上是 1 个巨大的长文件,其中包含我希望我的应用程序执行的所有功能......例如:get
我的身份验证适配器如下所示 $authAdapter->setTableName('register') ->setIdentityColumn('u
我们最近开始使用 Doctrine 2.2 和 Zend Framework 2 的一部分,以努力改进组织、减少重复等。今天,我开始提出实现服务层的想法,以充当我们的 Controller 和 Doc
我是 phpunit 测试的新手。任何人都可以帮助我如何测试图像中下面的行。 到目前为止我的测试是: public function testCanSendEmail() { $formDat
我正在尝试写这个,用 zf select 查询但没有成功 SELECT * FROM `subscribers` WHERE id IN (Select subscriber_id From gs_r
我正在使用 Zend Framework 的 Zend_Db_Table从数据库中获取数据的类。 我想通过向表中添加一些内容来“优化”我从表中获取的每一行。在一个普通的旧 SQL 查询中,我会写例如。
我正在尝试使用 Zend_Db 进行与此类似的更新: UPDATE `TABLE` SET column = column + 'new value' WHERE foo = 'bar' 你们
cmpxchg 的操作伪代码如下(Intel® 64 and IA-32 Architectures Software Developer's Manual, Volume 2A: Instructi
我正在使用具有 REST API 的 ZF 开发应用程序。一切都很顺利,除了我的 XML 在开头有一个空白字符,所以 XML 打破了在开头有 XML 声明的规则。我正在尝试使用 javascript/
这段代码是否给了我最后插入的记录 id,即使在重载页面上? db = Zend_Db_Table::getDefaultAdapter(); $db->insert($this->_name,
为什么 lists:zf/2 是 Erlang 中 filtermap/2 的别名? 这是列表中未记录但已导出的函数:模块。这是实现: zf(F, L) -> filtermap(F, L).
我正在 x86 上调试我的代码,问题追溯到 AND 指令如果结果不为零,有时不会清除 ZF 标志。这是有问题的代码: 0257A9F9 mov edx,dword ptr [ecx+
我需要使用一些没有 GCC 内在函数的 x86 指令,例如 BSF 和 BSR。使用 GCC 内联汇编,我可以编写如下内容 __INTRIN_INLINE unsigned char bsf64(un
我在将复选框包装到标签中时遇到了 Zend 装饰器 (ZF1) 的一些问题。 在我的表格中,我有一些非常简单的东西: $remember = new Zend_Form_Element_Checkbo
我有一个简单的查询,但我一辈子也想不通。 我有一个包含“thread_id”和“messages”列的(简化的)“messages”表 我还有一个线程列表,每个线程需要 10 个结果。 $list =
我是一名优秀的程序员,十分优秀!