zf2.2配置路由规则示例
zf2.2配置路由规则示例
雪之丞 发表于4年前
zf2.2配置路由规则示例
  • 发表于 4年前
  • 阅读 798
  • 收藏 1
  • 点赞 0
  • 评论 2

标题:腾讯云 新注册用户域名抢购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'
                        ),
                    ),
                ),
            ),
        ),
    ),
),
共有 人打赏支持
粉丝 12
博文 209
码字总数 51065
评论 (2)
哈哈__哈哈
zf2比zf1好么?一直用zf1做了好几个项目
雪之丞

引用来自“邓攀”的评论

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

刚开始学zf2,没用过zf1。
×
雪之丞
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: