1

我正在学习 Zend Framework 2,因为它似乎很有趣。不幸的是,我找不到一本好书来自学框架。

我有兴趣知道哪个类/对象用于生成链接。让我们举一些例子:

  1. 模块 M 有控制器 C 和动作 A1 和 A2,假设我在 A1 的视图中并且需要链接到控制器 A2?
  2. 模块 M 具有控制器 C1 和 C2。从 C1 的 C1A 动作中,如何生成指向 C2 的 C2A 动作的链接?
  3. 有 2 个模块,模块 M1 和模块 M2。两个模块分别有控制器 M1C 和 M2C,每个都有索引动作。从 M1C(第一个模块)的索引控制器,我怎样才能链接到 M2C(第二个模块)?

我正在关注 Zend Skeleton Application。我想创建从应用程序模块的链接 - 布局视图到另一个模块中的另一个视图。那么它是一个菜单项链接。

我认为以上 3 个场景将涵盖大部分此类链接。

我认为路由应该在其中发挥作用。没有把握。

4

3 回答 3

1

正如 Sam 所说,您正在寻找的是Url view helper。如果您查看 Zend Skeleton Application 的配置文件,您会发现有一条方便的路径

要在 Application 模块中生成给定操作的 URL,您应该能够这样做:

echo $this->url('application/default', array(
    'controller' => 'MyController',
    'action' => 'MyAction',
));

此路由适用于 Application 模块,但您可以为任何其他模块创建类似的路由,然后仍然按照上述方式进行操作。第一个参数是路由的名称。您可以使用 URL view helper 引用子路由;斜线之前是父路由,斜线之后是子路由的名称。我想你也可以创建一个通用路由,它也将模块名称作为参数(段)。

至于找书,我买了迈克尔·罗默的这本书。我没读完,但我读到的还不错,虽然有不少语法错误,但我想现在已经改正了。无论哪种方式,我会说那本书是一个安全的赌注。

祝你好运!

于 2013-04-30T19:49:42.173 回答
0

尝试通过UserGuide自己动手。

你还想仔细看看Zend\View\Helper\Url

于 2013-04-30T15:14:43.970 回答
0

让我向您推荐这里的“使用 Zend Framework 2”一书:http: //leanpub.com/using-zend-framework-2 使用此优惠券可享受 90% 的折扣:DI$COUNT

于 2013-10-01T14:08:50.820 回答