文档章节

zf2.2配置路由规则示例

雪之丞
 雪之丞
发布于 2013/09/13 16:09
字数 384
阅读 825
收藏 1

1 配置路由规则的文件位置:

module/moduleName/config/module.confg.php

2 zf2.2的路由类型:

8种,分别为Hostname, Literal, Method, Part, Regex, Scheme, Segement, Query

示例一 : 一个名为'album'、类型为'segment',它允许我们在URL pattern中指定占位符

注:

(1) []表示其中的内容是可选的

(2) :action表示这是一个变量,后面讲可以对其定义,如: 'action' => '[a-zA-Z0-9_-]*'

(3)下面几种示例是该路由规则可以通过的

1>http://localhost/zend/album

2>http://localhost/zend/album/add

3>http://localhost/zend/album/edit/1

'router' => array(

    'routes' => array(

        'album' => array(

            'type' => 'segment',
            'options' => array(
                'route' => '/album[/:action][/:id]',
                'constraints' => array(
                     'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                      'id' => '[0-9]+'
                 ),
                'defaults' => array(
                    'controller' => 'Album\Controller\Album',
                    'action' => 'index',
                ),
            ),
        ),       
    ),
),

示例二: 类型为Literal的简单路由配置信息,未设置路由名称

'router' => array(
    'routes' => array(
        'type' => 'Literal',
        'options' => array(
            'route' => '/hello/world',
            'defaults' => array(
                'controller' => 'Test\Controller\Hello',
                'action' => 'world',
            ),
        ),
    ),
),     

**示例三:**两个Literal类型的路由

'router' => array(
    'routes' => array(
        //Literal route namede 'home'
        'home' => array(
            'type' => 'Literal',
            'options' => array(
                'route' => '/',
                'defaults' => array(
                    'controller' => 'Application\Controller\Index',
                    'action' => 'index',
                ),
            ),
        ),

        //Literal route named 'contact'
        'contact' => array(
            'route' => '/contact',
            'options' => array(
                'controller' => 'Application\Controller\Contact',
                 'action' => 'form',
            ),
        ),
    ),
),

示例四: 子路由 child_routes

注: 名为home的路由指定的是整个工程的首页

' router' => array(
   ' routes' => array(

        //Literal route named 'home'
        'home' => array(
            'type' => 'Literal',
            'options' => array(
                'route' => '/',
                'defaults' => array(
                    'controller' => 'Application\Controller\Index',
                    'action' => 'index',
                ),
            ),
        ),

        //Literal route named 'blog', with child routes
        'blog' =>array(
            'type' => 'Literal',
            'options' => array(
                'route' => '/blog',
                'defaults' => array(
                    'controller' => 'Application\Controller\Blog';
                    'action' => 'index',
                ),
            ),
            'may_terminate' => true,
            'child_routes' => array(
                //segment route for viewing one blog post
                'post' => array(
                    'type' => 'segment',
                    'options' => array(
                        'route' => '/[:slug]',
                        'constraints' => array(
                             'slug' => '[a-zA-Z0-9_-]+',
                        ),
                        'defaults' => array(
                            'action' => 'view',
                        ),
                    ),
                ),

                //Literal doute for viewing RSS feed
                'rss' => array(
                    'type' => 'Literal',
                    'options' => array(
                        'route' => '/rss',
                        'defaults' => array(
                            'action' => 'rss'
                        ),
                    ),
                ),
            ),
        ),
    ),
),

© 著作权归作者所有

共有 人打赏支持
雪之丞
粉丝 13
博文 219
码字总数 51065
作品 0
浦东
程序员
私信 提问
加载中

评论(2)

雪之丞
雪之丞

引用来自“邓攀”的评论

zf2比zf1好么?一直用zf1做了好几个项目

刚开始学zf2,没用过zf1。
哈哈__哈哈
哈哈__哈哈
zf2比zf1好么?一直用zf1做了好几个项目
istio-0.8 规则配置 官方案例

Istio提供了一个简单的配置模型来控制API调用和第4层流量如何跨应用程序部署中的各种服务流动。配置模型允许操作员配置服务级属性,例如断路器,超时,重试,以及设置常见的连续部署任务,例...

xiaomin0322
07/19
0
0
通过阿里云容器服务K8S Ingress Controller实现应用服务的灰度发布

简介 日常工作中我们经常需要对服务进行版本更新升级,为此我们经常使用到的发布方式有滚动升级、分批暂停发布、蓝绿发布以及灰度发布,今天主要跟大家分享下在阿里云容器服务Kubernetes集群...

chenqz
05/18
0
0
阿里云Kubernetes Service Mesh实践进行时(3): 智能路由

概述 上一篇文章通过一个官方示例演示了如何部署应用到上述Istio环境中,本文使用此示例来尝试 Istio 的流量路由、故障注入、流量转移等功能。 阿里云Kubernetes Service Mesh实践进行时(1)...

osswangxining
06/06
0
0
传统网络配置命令与IP高级路由命令

懂得网络配置命令是一般技术人员必备的技术,经过一段时间的研究和学习,总结了一些常用的命令和示例以便日后查阅. 传统的在1--3点,ip高级路由命令在4--12点,两者部分可以通用,并达到同样的目的...

一见蓝天
2012/07/24
0
0
[转载]linux route 命令

原文地址:linux route 命令作者:XiaoJunLun linux route 命令 懂得网络配置命令是一般技术人员必备的技术,经过一段时间的研究和学习,总结了一些常用的命令和示例以便日后查阅. 传统的在1--...

Qadir.luo
2010/11/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

聊聊storm的AggregateProcessor的execute及finishBatch方法

序 本文主要研究一下storm的AggregateProcessor的execute及finishBatch方法 实例 TridentTopology topology = new TridentTopology(); topology.newStream("spout1", spout......

go4it
今天
3
0
大数据教程(7.5)hadoop中内置rpc框架的使用教程

博主上一篇博客分享了hadoop客户端java API的使用,本章节带领小伙伴们一起来体验下hadoop的内置rpc框架。首先,由于hadoop的内置rpc框架的设计目的是为了内部的组件提供rpc访问的功能,并不...

em_aaron
今天
4
0
CentOS7+git+github创建Python开发环境

1.准备CentOS7 (1)下载VMware Workstation https://pan.baidu.com/s/1miFU8mk (2)下载CentOS7镜像 https://mirrors.aliyun.com/centos/ (3)安装CentOS7系统 http://blog.51cto.com/fengyuns......

枫叶云
昨天
3
0
利用ibeetl 实现selectpicker 的三级联动

1. js 直接写在html页面上面,ibeetl 就可以动态地利用后台传上来的model List ,不需要每次点击都要ajax请求后台 2. 使用selectpicker 的时候,除了对selecct option的动态处理后,还需要 $("#...

donald121
昨天
3
0
Android SELinux avc dennied权限问题解决方法

1. 概述 SELinux是Google从android 5.0开始,强制引入的一套非常严格的权限管理机制,主要用于增强系统的安全性。 然而,在开发中,我们经常会遇到由于SELinux造成的各种权限不足,即使拥有“...

TreasureWe
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部