doppy/routing-bundle

此包已被废弃,不再维护。未建议替代包。

包含一些简单实用的路由工具

安装量: 8,939

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

2.2.0 2018-05-10 09:52 UTC

This package is auto-updated.

Last update: 2022-08-30 15:17:40 UTC


README

一个基于symfony/cmf-routing的提供一些额外路由功能的Symfony2/Symfony3包。

此包只提供简单的配置,而不是实际代码,因为链式路由器由symfony/cmf-routing提供。

安装

添加到composer

    "require": {
        "doppy/routing-bundle": "^2.0.0",
    }

添加到AppKernel

    public function registerBundles()
    {
        $bundles = array(
            // ...
            new Doppy\RoutingBundle\DoppyRoutingBundle(),
            // ...
        );
    }

编写自己的路由器

在你的应用中某个地方实现自己的路由器。你需要使用以下接口之一或多个

  • Symfony\Component\Routing\Generator\UrlGeneratorInterface
    仅用于生成URL。如果你想要生成指向不同站点的URL,这个很有用。
  • Symfony\Component\Routing\Matcher\UrlMatcherInterface
    用于简单地将传入的URL匹配到控制器。
  • Symfony\Component\Routing\Matcher\RequestMatcherInterface
    用于更复杂地将传入的URL匹配到控制器。

有关生成和匹配URL的更多信息,请参阅Symfony文档(关于这些接口)。

通常将其定义为服务,或使用自动注入。

添加路由器

有两种方法可以使你的自定义路由器为人所知,它们具有相同的结果。

对于同一路由器,你不应该同时使用这两种方法,因为这会导致你的路由器被多次添加。

方法1:配置

使用主要配置

doppy_routing:
    chain:
        routers_by_id:
            App\Routing\Router: 200

其中数字是使用优先级。

方法2:标签

services:
    your_bundle.routing.router:
        class: App\Routing\Router
        tags:
            - { name: doppy_routing.router, priority: 200 }

使用此方法,你不需要在配置中添加symfony路由器,因为标签会自动完成此操作。

不支持自动标签

默认Symfony路由器

默认的symfony路由器已默认添加,优先级为100。你可以通过调整以下两种方式之一来调整此配置

禁用默认路由器

doppy_routing:
    default_router: false

或不同的优先级

doppy_routing:
    default_router: -100